diff options
author | Fangrui Song <i@maskray.me> | 2025-08-23 20:33:07 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2025-08-23 20:33:07 -0700 |
commit | 58d16db8b5d2aa98ed1e5b5a5d14b9ba7042f6d0 (patch) | |
tree | 6cf16e9717ad86b3adf3d806b1e9abfe7af1c621 /llvm/lib/MC/MCAssembler.cpp | |
parent | b1d58f025e834386acd9a338fcd9ba47d244c67a (diff) | |
download | llvm-58d16db8b5d2aa98ed1e5b5a5d14b9ba7042f6d0.zip llvm-58d16db8b5d2aa98ed1e5b5a5d14b9ba7042f6d0.tar.gz llvm-58d16db8b5d2aa98ed1e5b5a5d14b9ba7042f6d0.tar.bz2 |
MCAssembler: Simplify relaxation of FT_Fill and FT_Org
Diffstat (limited to 'llvm/lib/MC/MCAssembler.cpp')
-rw-r--r-- | llvm/lib/MC/MCAssembler.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp index 29a9fad..b1031d7 100644 --- a/llvm/lib/MC/MCAssembler.cpp +++ b/llvm/lib/MC/MCAssembler.cpp @@ -915,7 +915,7 @@ void MCAssembler::relaxDwarfCallFrameFragment(MCFragment &F) { } bool MCAssembler::relaxFragment(MCFragment &F) { - size_t Size = computeFragmentSize(F); + auto Size = computeFragmentSize(F); switch (F.getKind()) { default: return false; @@ -943,20 +943,9 @@ bool MCAssembler::relaxFragment(MCFragment &F) { getContext().getCVContext().encodeDefRange( *this, static_cast<MCCVDefRangeFragment &>(F)); break; - case MCFragment::FT_Fill: { - auto &FF = static_cast<MCFillFragment &>(F); - if (FF.getSize() == Size) - return false; - FF.setSize(Size); - return true; - } - case MCFragment::FT_Org: { - auto &FF = static_cast<MCOrgFragment &>(F); - if (FF.getSize() == Size) - return false; - FF.setSize(Size); - return true; - } + case MCFragment::FT_Fill: + case MCFragment::FT_Org: + return F.getNext()->Offset - F.Offset != Size; } return computeFragmentSize(F) != Size; } |