summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeon/AMDILSubtarget.cpp3
-rw-r--r--src/gallium/drivers/radeon/radeon_llvm_emit.cpp14
2 files changed, 9 insertions, 8 deletions
diff --git a/src/gallium/drivers/radeon/AMDILSubtarget.cpp b/src/gallium/drivers/radeon/AMDILSubtarget.cpp
index 11b6bbe0c01..4fdbe755af6 100644
--- a/src/gallium/drivers/radeon/AMDILSubtarget.cpp
+++ b/src/gallium/drivers/radeon/AMDILSubtarget.cpp
@@ -27,7 +27,8 @@ using namespace llvm;
#define GET_SUBTARGETINFO_TARGET_DESC
#include "AMDILGenSubtargetInfo.inc"
-AMDILSubtarget::AMDILSubtarget(llvm::StringRef TT, llvm::StringRef CPU, llvm::StringRef FS) : AMDILGenSubtargetInfo( TT, CPU, FS )
+AMDILSubtarget::AMDILSubtarget(llvm::StringRef TT, llvm::StringRef CPU, llvm::StringRef FS) : AMDILGenSubtargetInfo( TT, CPU, FS ),
+ mDumpCode(false)
{
memset(CapsOverride, 0, sizeof(*CapsOverride)
* AMDILDeviceInfo::MaxNumberCapabilities);
diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.cpp b/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
index 3431316cd3c..ebc32106b52 100644
--- a/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
+++ b/src/gallium/drivers/radeon/radeon_llvm_emit.cpp
@@ -93,20 +93,20 @@ radeon_llvm_compile(LLVMModuleRef M, unsigned char ** bytes,
AMDGPUTriple.setArch(Arch);
Module * mod = unwrap(M);
- std::string FS = gpu_family;
+ std::string FS;
TargetOptions TO;
+ if (dump) {
+ mod->dump();
+ FS += "+DumpCode";
+ }
+
std::auto_ptr<TargetMachine> tm(AMDGPUTarget->createTargetMachine(
- AMDGPUTriple.getTriple(), gpu_family, "" /* Features */,
+ AMDGPUTriple.getTriple(), gpu_family, FS,
TO, Reloc::Default, CodeModel::Default,
CodeGenOpt::Default
));
TargetMachine &AMDGPUTargetMachine = *tm.get();
- /* XXX: Use TargetMachine.Options in 3.0 */
- if (dump) {
- mod->dump();
- FS += ",DumpCode";
- }
PassManager PM;
PM.add(new TargetData(*AMDGPUTargetMachine.getTargetData()));
PM.add(createPromoteMemoryToRegisterPass());