diff options
author | Tom Stellard <[email protected]> | 2012-08-31 11:29:49 -0400 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-08-31 12:54:58 -0400 |
commit | 022f6d88616bf5ea3903c5056d6147e9cf356aa9 (patch) | |
tree | cd93db13aa7434b8b09d8900bec327906a27bfd1 /src/gallium/drivers/radeon/SIISelLowering.h | |
parent | 1cee70c5d836ee4c3981910ee46ed9d7471d39d8 (diff) |
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.
Diffstat (limited to 'src/gallium/drivers/radeon/SIISelLowering.h')
-rw-r--r-- | src/gallium/drivers/radeon/SIISelLowering.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/SIISelLowering.h b/src/gallium/drivers/radeon/SIISelLowering.h index 77d61d86f49..80c7f4bb86c 100644 --- a/src/gallium/drivers/radeon/SIISelLowering.h +++ b/src/gallium/drivers/radeon/SIISelLowering.h @@ -29,6 +29,8 @@ class SITargetLowering : public AMDGPUTargetLowering /// write. void AppendS_WAITCNT(MachineInstr *MI, MachineBasicBlock &BB, MachineBasicBlock::iterator I) const; + void LowerMOV_IMM(MachineInstr *MI, MachineBasicBlock &BB, + MachineBasicBlock::iterator I, unsigned Opocde) const; void LowerSI_INTERP(MachineInstr *MI, MachineBasicBlock &BB, MachineBasicBlock::iterator I, MachineRegisterInfo & MRI) const; void LowerSI_INTERP_CONST(MachineInstr *MI, MachineBasicBlock &BB, |