diff options
author | shawbyoung <shawbyoung@gmail.com> | 2024-06-11 11:31:37 -0700 |
---|---|---|
committer | shawbyoung <shawbyoung@gmail.com> | 2024-06-11 11:31:37 -0700 |
commit | 2289286c92696109e2d63a977eb845ea4221f199 (patch) | |
tree | 90e10f09ae908b875e0a3b4eccdd4c90d8d18989 /llvm/lib/MC/MCExpr.cpp | |
parent | 338cbfef03e0ab58d7b52f3301928c58b194a1b4 (diff) | |
parent | 5a183532e960444088aa4d76d4686d7c93ba79b9 (diff) | |
download | llvm-users/shawbyoung/spr/updated-commandlineargumentreferencemd.zip llvm-users/shawbyoung/spr/updated-commandlineargumentreferencemd.tar.gz llvm-users/shawbyoung/spr/updated-commandlineargumentreferencemd.tar.bz2 |
[𝘀𝗽𝗿] initial versionusers/shawbyoung/spr/updated-commandlineargumentreferencemd
Created using spr 1.3.4
Diffstat (limited to 'llvm/lib/MC/MCExpr.cpp')
-rw-r--r-- | llvm/lib/MC/MCExpr.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp index b065d03..9add574 100644 --- a/llvm/lib/MC/MCExpr.cpp +++ b/llvm/lib/MC/MCExpr.cpp @@ -675,14 +675,8 @@ static void AttemptToFoldSymbolOffsetDifference( if (FA == FB) { Reverse = SA.getOffset() < SB.getOffset(); } else if (!isa<MCDummyFragment>(FA)) { - // Testing FA < FB is slow. Use setLayoutOrder to speed up computation. - // The formal layout order will be finalized in MCAssembler::layout. - if (FA->getLayoutOrder() == 0 || FB->getLayoutOrder()== 0) { - unsigned LayoutOrder = 0; - for (MCFragment &F : *FA->getParent()) - F.setLayoutOrder(++LayoutOrder); - } - Reverse = FA->getLayoutOrder() < FB->getLayoutOrder(); + Reverse = std::find_if(std::next(FA->getIterator()), SecA.end(), + [&](auto &I) { return &I == FB; }) != SecA.end(); } uint64_t SAOffset = SA.getOffset(), SBOffset = SB.getOffset(); |