diff options
author | Tom Stellard <[email protected]> | 2014-10-15 12:24:30 -0400 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2015-01-06 12:53:21 -0800 |
commit | 761e36b4caab4e8e09a4c2b1409a825902fc7d2c (patch) | |
tree | c8b8639b11190ebfcc43f4e22fa771f86d551bd8 /src/gallium/drivers/radeonsi/si_pipe.h | |
parent | 934e41c0b31cffa4efc08f61cff2389e3149b3f3 (diff) |
radeonsi: Cache LLVMTargetMachine object in si_screen
Rather than building a new one every compile. This should reduce some
of the overhead of compiling shaders.
One consequence of this change is that we lose the MachineInstrs dumps
when dumping the shaders via R600_DEBUG. The LLVM IR and assembly is
still dumped, and if you still want to see the MachineInstr dump, you
can run the dumped LLVM IR through llc.
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 9ba4970b3ff..b2caef02eb1 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -28,6 +28,8 @@ #include "si_state.h" +#include <llvm-c/TargetMachine.h> + #ifdef PIPE_ARCH_BIG_ENDIAN #define SI_BIG_ENDIAN 1 #else @@ -50,6 +52,7 @@ struct si_compute; struct si_screen { struct r600_common_screen b; + LLVMTargetMachineRef tm; }; struct si_sampler_view { |