summaryrefslogtreecommitdiff
path: root/compiler/optimizing/load_store_elimination.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/load_store_elimination.cc')
-rw-r--r--compiler/optimizing/load_store_elimination.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/load_store_elimination.cc b/compiler/optimizing/load_store_elimination.cc
index b1ec62a12d..1ea2ece004 100644
--- a/compiler/optimizing/load_store_elimination.cc
+++ b/compiler/optimizing/load_store_elimination.cc
@@ -3613,9 +3613,13 @@ HInstruction* LSEVisitor::GetPartialValueAt(HNewInstance* orig_new_inst, HInstru
HInstruction* res = Replacement(pred).GetInstruction();
LSE_VLOG << pred << " materialized to " << res->DumpWithArgs();
return res;
+ } else if (pred.IsDefault()) {
+ HInstruction* res = GetDefaultValue(read->GetType());
+ LSE_VLOG << pred << " materialized to " << res->DumpWithArgs();
+ return res;
}
LOG(FATAL) << "Unable to find unescaped value at " << read->DumpWithArgs()
- << "! This should be impossible!";
+ << "! This should be impossible! Value is " << pred;
UNREACHABLE();
}