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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to