[clang] [llvm] target ABI: improve call parameters extensions handling (PR #100757)
Jonas Paulsson via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 22 08:21:37 PDT 2024
JonPsson1 wrote:
Patch updated per @nikic suggestion to use a TargetOption flag to simply disable this for llc.
With all the llc lit tests out of the way, I now see:
- 1 test failing in CodeGenObjC
- failing tests in clang/test/Interpreter
- failing tetss in llvm/test/ExecutionEngine/Orc/./OrcJITTests.
Not sure if these tools should also "do their job" and actually be fixed, like clang? Or are these also llc-like in the sense that they are only used internally by llvm developers? For the Objective-C test, not sure if this maybe could be disabled for SystemZ at least?
These would pass with something like:
```
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -436,6 +436,8 @@ static bool initTargetOptions(DiagnosticsEngine &Diags,
Options.Hotpatch = CodeGenOpts.HotPatch;
Options.JMCInstrument = CodeGenOpts.JMCInstrument;
Options.XCOFFReadOnlyPointers = CodeGenOpts.XCOFFReadOnlyPointers;
+ if (LangOpts.ObjC)
+ Options.VerifyArgABICompliance = false;
switch (CodeGenOpts.getSwiftAsyncFramePointer()) {
case CodeGenOptions::SwiftAsyncFramePointerKind::Auto:
diff --git a/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp b/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
index 8d4e79c7d8af..662c712c078f 100644
--- a/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
@@ -20,6 +20,7 @@ JITTargetMachineBuilder::JITTargetMachineBuilder(Triple TT)
: TT(std::move(TT)) {
Options.EmulatedTLS = true;
Options.UseInitArray = true;
+ Options.VerifyArgABICompliance = false;
}
```
https://github.com/llvm/llvm-project/pull/100757
More information about the cfe-commits
mailing list