gallivm: dump bitcode before optimization
authorRoland Scheidegger <sroland@vmware.com>
Mon, 23 Apr 2018 04:22:45 +0000 (06:22 +0200)
committerRoland Scheidegger <sroland@vmware.com>
Tue, 24 Apr 2018 02:49:39 +0000 (04:49 +0200)
commite8e1d287a3c3030f1a94dcf67381dfd7ae3eba14
treecca680f34354e9f40623de4965978af40ea4bff7
parente89cf59c27e4a66379f21ee0b574deaa078d0975
gallivm: dump bitcode before optimization

If we dump the bitcode for off-line debug purposes, we really want the
pre-optimized bitcode, otherwise it's useless in identifying problems
with IR optimization (if you have a shader which takes an hour to do
IR optimization, it's also nice you don't have to wait that hour...).
Also, print out the function passes for opt which correspond to what
was used for jit compilation (and also the opt level for codegen).
Using opt/llc this way should then pretty much mimic what was done
for jit. (When specifying something like -time-passes
-debug-pass=[Structure|Arguments] (for either opt or llc) that also
gives very useful information in which passes all the time was spent,
and which passes are really run along with the order - llvm will add
passes due to dependencies on its own, and of course -O2 for llc
comes with a ~100 pass list.)

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_init.c