================
@@ -2900,7 +2900,7 @@ defm clangir : BoolFOption<"clangir",
   PosFlag<SetTrue, [], [ClangOption, CC1Option], "Use the ClangIR pipeline to 
compile">,
   NegFlag<SetFalse, [], [ClangOption, CC1Option], "Use the AST -> LLVM 
pipeline to compile">,
   BothFlags<[], [ClangOption, CC1Option], "">>;
-def emit_cir : Flag<["-"], "emit-cir">, Visibility<[CC1Option]>,
+def emit_cir : Flag<["-"], "emit-cir">, Visibility<[ClangOption, CC1Option]>,
----------------
lanza wrote:

@erichkeane @AaronBallman @MaskRay 

I had to re-add the ClangOption here. `lib/Driver/Driver.cpp` builds the 
`Action` framework out based on input to the driver. So to properly orchestrate 
the outputs you need a driver flag to tell it that, e.g., we are emitting a 
`.cir` textual output. e.g. `-fsyntax-only` exists to chop off the frontend at 
the right point and `-emit-llvm` seems intentionally to have been made a driver 
flag to orchestrate `.ll` or `.bc` output.

Notably, `-emit-llvm-bc` does the wrong thing in all cases. `clang -Xclang 
-emit-llvm-bc hello.c` does the wrong thing and emits an executable. `clang 
-Xclang -emit-llvm -S hello.c` also does the wrong thing and emits a file named 
`hello.s` that is actually llvm bitcode. 

https://github.com/llvm/llvm-project/pull/91007
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to