Fix https://github.com/llvm/llvm-project/issues/55816
Before this patch, MCConstantExpr were reused, but MCSymbolExpr were
not. To reuse symbol value, this patch added a DenseMap to record the
symbol value.
| Paths 
 |  Differential  D127113  
[MC][ARM] Reuse symbol value in constant pool ClosedPublic Authored by StephenFan on Jun 6 2022, 7:22 AM. 
Details 
 Summary Fix https://github.com/llvm/llvm-project/issues/55816 Before this patch, MCConstantExpr were reused, but MCSymbolExpr were 
Diff Detail 
 Event TimelineComment Actions 
 Just say Fix https://github.com/llvm/llvm-project/issues/55816 
 This revision is now accepted and ready to land.Jun 6 2022, 8:02 PM This revision was landed with ongoing or failed builds.Jun 6 2022, 10:40 PM Closed by commit rGa7b154aa1770: [MC][ARM] Reuse symbol value in constant pool (authored by StephenFan).  ·  Explain Why This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 434693 llvm/include/llvm/MC/ConstantPools.h
 llvm/lib/MC/ConstantPools.cpp
 llvm/test/MC/ARM/ldr-pseudo-wide.s
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (C) { auto CItr = CachedConstantEntries.find(C->getValue()); if (CItr != CachedConstantEntries.end()) return CItr->second; } if (S) { ... }