diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2015-07-09 16:30:36 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2015-07-09 16:30:36 +0000 |
| commit | ab6e9c0f94a016a405cdc9051d8800756221c46f (patch) | |
| tree | 542b227e1c182cd03257aa97f1a4b8f5607ae5d6 /llvm/lib/Target | |
| parent | 9ebf7ca2f0665e2c88447179d8af9a0065a40d88 (diff) | |
| download | bcm5719-llvm-ab6e9c0f94a016a405cdc9051d8800756221c46f.tar.gz bcm5719-llvm-ab6e9c0f94a016a405cdc9051d8800756221c46f.zip | |
AMDGPU/SI: The SIShrinkInstructions pass should only fold immediates with one use
This is convered by existing testcases and will be exposed by a future
commit.
llvm-svn: 241817
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp b/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp index 51e72cdb5f9..cb9d7f7c59d 100644 --- a/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp +++ b/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp @@ -149,7 +149,7 @@ static void foldImmediates(MachineInstr &MI, const SIInstrInfo *TII, return; // Try to fold Src0 - if (Src0.isReg()) { + if (Src0.isReg() && MRI.hasOneUse(Src0.getReg())) { unsigned Reg = Src0.getReg(); MachineInstr *Def = MRI.getUniqueVRegDef(Reg); if (Def && Def->isMoveImmediate()) { |

