aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCAssembler.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2025-08-23 20:33:07 -0700
committerFangrui Song <i@maskray.me>2025-08-23 20:33:07 -0700
commit58d16db8b5d2aa98ed1e5b5a5d14b9ba7042f6d0 (patch)
tree6cf16e9717ad86b3adf3d806b1e9abfe7af1c621 /llvm/lib/MC/MCAssembler.cpp
parentb1d58f025e834386acd9a338fcd9ba47d244c67a (diff)
downloadllvm-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.cpp19
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;
}