radeon/llvm: Rework how immediate operands are handled with SI
authorTom Stellard <thomas.stellard@amd.com>
Fri, 31 Aug 2012 15:29:49 +0000 (11:29 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 31 Aug 2012 16:54:58 +0000 (12:54 -0400)
commit022f6d88616bf5ea3903c5056d6147e9cf356aa9
treecd93db13aa7434b8b09d8900bec327906a27bfd1
parent1cee70c5d836ee4c3981910ee46ed9d7471d39d8
radeon/llvm: Rework how immediate operands are handled with SI

Immediate operands were previously handled in the CodeEmitter, but that
code was buggy and very confusing.  This commit adds a pass that simplifies
the handling of immediate operands by spliting the loading of the
immediate into a sperate insruction that is bundled with the original.
src/gallium/drivers/radeon/AMDGPU.h
src/gallium/drivers/radeon/AMDGPUAsmPrinter.cpp
src/gallium/drivers/radeon/AMDGPUTargetMachine.cpp
src/gallium/drivers/radeon/MCTargetDesc/SIMCCodeEmitter.cpp
src/gallium/drivers/radeon/Makefile.sources
src/gallium/drivers/radeon/SIGenRegisterInfo.pl
src/gallium/drivers/radeon/SIISelLowering.h
src/gallium/drivers/radeon/SIInstrInfo.td
src/gallium/drivers/radeon/SIInstructions.td
src/gallium/drivers/radeon/SILowerLiteralConstants.cpp [new file with mode: 0644]