diff options
Diffstat (limited to 'src/jit/lir.cpp')
-rw-r--r-- | src/jit/lir.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/jit/lir.cpp b/src/jit/lir.cpp index b6c36ca7ed..074e0e4639 100644 --- a/src/jit/lir.cpp +++ b/src/jit/lir.cpp @@ -972,11 +972,19 @@ void LIR::Range::InsertAtEnd(Range&& range) // Arguments: // node - The node to remove. Must be part of this range. // -void LIR::Range::Remove(GenTree* node) +void LIR::Range::Remove(GenTree* node, bool markOperandsUnused) { assert(node != nullptr); assert(Contains(node)); + if (markOperandsUnused) + { + for (GenTree* operand : node->Operands()) + { + operand->gtLIRFlags |= Flags::IsUnusedValue; + } + } + GenTree* prev = node->gtPrev; GenTree* next = node->gtNext; |