diff options
author | Fangrui Song <i@maskray.me> | 2025-07-12 20:29:34 -0700 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2025-07-12 20:29:34 -0700 |
commit | 267b136359d8448c73432b4f3ceeefbf4c35e00b (patch) | |
tree | 4b034b6d71924b809c04704c401501a45d5987ee /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 6f923134ddf4afc4266c4c32854d7cc2793c23a1 (diff) | |
download | llvm-267b136359d8448c73432b4f3ceeefbf4c35e00b.zip llvm-267b136359d8448c73432b4f3ceeefbf4c35e00b.tar.gz llvm-267b136359d8448c73432b4f3ceeefbf4c35e00b.tar.bz2 |
MCFragment: Refactor code for MCFragment
To prepare for moving content and fixup member variables from
MCEncodedFragment to MCFragment and removing
MCDataFragment/MCRelaxableFragment classes, replace dyn_cast with
getKind() tests.
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 5cc9bed..b03c228 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -84,8 +84,9 @@ static std::optional<uint64_t> absoluteSymbolDiff(const MCSymbol *Hi, return 0; if (Hi->isVariable() || Lo->isVariable()) return std::nullopt; - auto *LoF = dyn_cast_or_null<MCDataFragment>(Lo->getFragment()); - if (!LoF || Hi->getFragment() != LoF || LoF->isLinkerRelaxable()) + auto *LoF = Lo->getFragment(); + if (!LoF || LoF->getKind() != MCFragment::FT_Data || + Hi->getFragment() != LoF || LoF->isLinkerRelaxable()) return std::nullopt; return Hi->getOffset() - Lo->getOffset(); |