aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-ml/llvm-ml.cpp
diff options
context:
space:
mode:
authorPhilipp Krones <philipp.krones@embecosm.com>2021-05-23 14:15:23 -0700
committerFangrui Song <i@maskray.me>2021-05-23 14:15:23 -0700
commitc2f819af73c54a8cf923e5a25099ca95dbe76312 (patch)
tree97a4ff834d4680ecbbd3f7c1fde1c749d2398f26 /llvm/tools/llvm-ml/llvm-ml.cpp
parentcb1511645170ec23036631790398d8143a832265 (diff)
downloadllvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.zip
llvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.tar.gz
llvm-c2f819af73c54a8cf923e5a25099ca95dbe76312.tar.bz2
[MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo
This makes it possible for targets to define their own MCObjectFileInfo. This MCObjectFileInfo is then used to determine things like section alignment. This is a follow up to D101462 and prepares for the RISCV backend defining the text section alignment depending on the enabled extensions. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D101921
Diffstat (limited to 'llvm/tools/llvm-ml/llvm-ml.cpp')
-rw-r--r--llvm/tools/llvm-ml/llvm-ml.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/tools/llvm-ml/llvm-ml.cpp b/llvm/tools/llvm-ml/llvm-ml.cpp
index c61cacc..14f75d0 100644
--- a/llvm/tools/llvm-ml/llvm-ml.cpp
+++ b/llvm/tools/llvm-ml/llvm-ml.cpp
@@ -281,10 +281,10 @@ int main(int Argc, char **Argv) {
// FIXME: This is not pretty. MCContext has a ptr to MCObjectFileInfo and
// MCObjectFileInfo needs a MCContext reference in order to initialize itself.
- MCObjectFileInfo MOFI;
- MCContext Ctx(TheTriple, MAI.get(), MRI.get(), &MOFI, STI.get(), &SrcMgr);
- MOFI.initMCObjectFileInfo(Ctx, /*PIC=*/false,
- /*LargeCodeModel=*/true);
+ MCContext Ctx(TheTriple, MAI.get(), MRI.get(), STI.get(), &SrcMgr);
+ std::unique_ptr<MCObjectFileInfo> MOFI(TheTarget->createMCObjectFileInfo(
+ Ctx, /*PIC=*/false, /*LargeCodeModel=*/true));
+ Ctx.setObjectFileInfo(MOFI.get());
if (InputArgs.hasArg(OPT_save_temp_labels))
Ctx.setAllowTemporaryLabels(false);