dubiousconst282
dubiousconst282
When storing an int value into a local variable of a small int type (byte/short), the value is not truncated in the decompiled code and ends with a subtle behavior...
Exception handlers are currently represented implicitly in the IR via guard and leave instructions, and complemented by ProtectedRegionAnalysis - a standalone analysis that provides a more concrete region tree representation....
Lists are often instantiated and immediately filled with items from a source having a known length, and it isn't always convenient to explicitly initialize the list with a capacity: ```cs...
While this pass would ideally be applied before SSA promotion, that would likely significantly reduce candidates because inlining only happens after it, and we can only mark an allocation as...
Lists are often used as an array builder helper, but it isn't as ideal because it always requires a copy. If the list can be pre-resized to a fixed size,...
The type system and metadata loader are in a quite unpolished state, despite being heart of the IR. These are some of the things which need to be improved/fixed. -...
Structs are currently almost always keept in exposed local variable slots, making it difficult for transforms to check for legality since there's almost no data-flow info. TODOs: - [x] Consider...
Each of these could derive from `AggregationSink` (and Average from Sum).
Auto-vectorization is a very interesting transform because it can have a significant impact on the few cases where it works. In reality, only a few loops are effectively vectorizable due...
If we decide to apply simple pattern based rewrites, we'll need a proper matching API since C#'s is not very scalable. An API like LLVM's would be nice and it's...