124 Commits (eae6e21ee5c434c5ed4837f70dbe5f0013b33712)

Author SHA1 Message Date
apmoskevitz d89f85087e focus on CS8603, return null from method 10 months ago
apmoskevitz ef8e709ecc applied fixer for drect assignment from null 10 months ago
Daniel Grunwald aa914058ce Fix #3237: Use `ref readonly` locals for `readonly.ldelema` 1 year ago
Siegfried Pammer 1c71f6ad46 Support concatenation involving arguments of type ReadOnlySpan<char>. 1 year ago
Siegfried Pammer 03a20f3494 Support ILInlining for in parameters 1 year ago
Daniel Grunwald 99d5e94a62 Allow inlining value type temporaries into constrained call. 2 years ago
Daniel Grunwald 475f2b3c28 Fix "ref readonly" fields. 2 years ago
Siegfried Pammer a3191f19e2 Fix #2763: Improve decompilation of switch-on-enum by preserving enum type information when inlining local variables into SwitchInstruction.Value. 3 years ago
Siegfried Pammer 948da3f9ee ILInlining: IStatementTransform.Run repeatedly inline all possible statements. 3 years ago
Daniel Grunwald 503048b314 Prevent the early ILInlining pass from creating `addressof` instructions 3 years ago
Siegfried Pammer d3f8912d53 Handle special-cases with addressof: 3 years ago
Siegfried Pammer 702a7da2c3 Fix #2714: Force inlining of call targets in ctor initializers. 3 years ago
Siegfried Pammer 5f73bfbb01 Fix Deconstruction for Deconstruct instance methods of value-types. 3 years ago
Siegfried Pammer 83727ea4b0 Add support for value type patterns 4 years ago
Siegfried Pammer 8eafbb3d90 Fix #2092: aggressively inline code in compiler-generated lambdas and expression trees. 4 years ago
Siegfried Pammer 4ae41a855e Fix #2321: Missing readonly modifier for ref local 4 years ago
Daniel Grunwald 3831b42197 Properly support `calli` instruction and its interaction with function pointer types. 5 years ago
Daniel Grunwald bb99e9668a Fix #2115: Re-introduce the evaluation order bug #2050 when a language version <=C# 5 is selected. 5 years ago
dotnet format 0d9f871a4f #2128: Reformat the whole code base. 5 years ago
Siegfried Pammer 7f4653c274 Add support for tuple deconstruction 5 years ago
Siegfried Pammer b435c07f4d Added support for deconstruction assignments to properties 5 years ago
Daniel Grunwald c9f65d3b5e Fix #1555: Eliminate value-type temporaries emitted by mcs on field reads. 5 years ago
Daniel Grunwald cc850c27aa Add "Aggressive inlining" option 5 years ago
Daniel Grunwald 1a997fdb60 Enable aggressive inlining into switch expressions. 5 years ago
Daniel Grunwald c63e14e805 Move some special cases from ILInlining.FindLoadInNext to the individual ILInstructions. 5 years ago
Daniel Grunwald fe2143b41f Validate code movement performed by IndexRangeTransform. 5 years ago
Daniel Grunwald 81d9eda332 I just discovered that we do have un-inlining implemented... let's mention it where it's more likely to be found in the future. 5 years ago
Daniel Grunwald 62fcab8d99 #2050: Allow inlining into the StObj target slot when this is possible without changing the program semantics. 5 years ago
Daniel Grunwald 925a4e1e65 #2050: Don't put ldflda/ldelema with immediate exceptions into StObj.TargetSlot. 5 years ago
Daniel Grunwald 12226c5f90 Add support for indexing a container with a System.Index instance. 5 years ago
Daniel Grunwald dc6e094a30 Add support for indexing arrays using System.Index 5 years ago
Daniel Grunwald eb2a9e6b94 #1852: Rename array.to.pointer opcode to get.pinnable.reference. 6 years ago
Siegfried Pammer a781e37d98 Fix #1779: Do not inline compound assignment target, if it is a temporary struct. 6 years ago
Siegfried Pammer ea3a005908 Fix #1760: NRE in ILInlining, if nullable.rewrap is used with an expression that has a type parameter as its type. 6 years ago
Daniel Grunwald ae32913aca Add IMethod.ThisIsRefReadOnly 6 years ago
Siegfried Pammer 9190515d8b #1151: Support for ref readonly locals. 6 years ago
Daniel Grunwald 4b90e43187 Avoid making explicit ToString() implicit when doing so changes the semantics for mutable value types. 6 years ago
Daniel Grunwald 57b725df79 Fix #1655: Incorrect pointer cast when calling method on integer constant 6 years ago
Daniel Grunwald df13f0ce01 Fix #1605: Inline ref locals more aggressively; this is necessary for VB compound assignments. 6 years ago
Daniel Grunwald 7f8689c464 Allow inlining of compiler-generated value-type-temporaries when field accesses are involved. 6 years ago
Daniel Grunwald 752f0de978 Further adjustments to transforms now that copy propagation no longer runs. 6 years ago
Daniel Grunwald 33c7425fa2 Fix several bugs with compound assignments on indexers. 6 years ago
Daniel Grunwald ccdabf2325 Fix a bunch of XmlDoc compiler warnings. 6 years ago
Daniel Grunwald f2151972a0 Redesign CompoundAssignmentInstruction to support an 'Address' mode where we don't implicitly turn an LdObj into an StObj, but instead directly operate on an address. 6 years ago
Siegfried Pammer b03aa488aa Performance: Cache ChainedConstructorCallILOffset in ILFunction to avoid having to scan the method body in every inlining step. Take a shortcut for static ctors, as there cannot be chained ctor calls in static ctors. 6 years ago
Daniel Grunwald 8d99af14c5 Add support for 'ref readonly' return type. 6 years ago
Daniel Grunwald 416425b681 Readonly struct method calls on readonly lvalues don't generate temporaries. 6 years ago
Daniel Grunwald 4ad4f6a232 Fix #882: Don't inline value-type temporaries for setter calls. 6 years ago
Daniel Grunwald eb942b4a21 Fix #1430: Improve performance in ILInlining. 6 years ago
Siegfried Pammer 6e49efd5aa Extend ILInlining to work with StringToInt instructions inside Switch instruction. 6 years ago