How to see what's going on behind llc through clang/clang++


Is there a way to see what the default argument llc takes from clang/clang++ ? I’m debugging my backend with a very simple c++ program. Running through

clang++ -target myTarget -S simple.cpp -o simple.s (bug does no show up)

gives me different results from

clang++ -target myTarget -S -emit-llvm -o simple.cpp -o simple.ll
llc simple.ll -o simple.s (bug shows up)

Just trying to understand what’s the difference here


Default optimisation levels are different for one thing. Try running
`llc -O0 ...` and see if that makes a difference.

There is an option to print the LLVM-IR code before/after each pass:
-print-after-all and -print-before-all

Thanks, Mats

Is there a way to pass llc options through clang/clang++ ?