summaryrefslogtreecommitdiff
path: root/src/jit/lir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/lir.cpp')
-rw-r--r--src/jit/lir.cpp10
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;