diff options
| author | Ayman Musa <ayman.musa@intel.com> | 2017-03-01 10:20:48 +0000 |
|---|---|---|
| committer | Ayman Musa <ayman.musa@intel.com> | 2017-03-01 10:20:48 +0000 |
| commit | 9b802e4650c5fe5ea0fc273a15536d1d6a67fbf9 (patch) | |
| tree | c8a3e49801b68ae196769beb06feb7ceddcfd91c /llvm/lib/Target/X86/X86FastISel.cpp | |
| parent | 9108644dbf54e4727728ab08c8b7e21bfcd12e8c (diff) | |
| download | bcm5719-llvm-9b802e4650c5fe5ea0fc273a15536d1d6a67fbf9.tar.gz bcm5719-llvm-9b802e4650c5fe5ea0fc273a15536d1d6a67fbf9.zip | |
[X86] Fix creating vreg def after use.
llvm-svn: 296601
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index 278d9630745..4a46cb0874e 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -2423,17 +2423,22 @@ bool X86FastISel::X86SelectFPExtOrFPTrunc(const Instruction *I, if (OpReg == 0) return false; + unsigned ImplicitDefReg; + if (Subtarget->hasAVX()) { + ImplicitDefReg = createResultReg(RC); + BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, + TII.get(TargetOpcode::IMPLICIT_DEF), ImplicitDefReg); + + } + unsigned ResultReg = createResultReg(RC); MachineInstrBuilder MIB; MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(TargetOpc), ResultReg); - if (Subtarget->hasAVX()) { - unsigned ImplicitDefReg = createResultReg(RC); - BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, - TII.get(TargetOpcode::IMPLICIT_DEF), ImplicitDefReg); + if (Subtarget->hasAVX()) MIB.addReg(ImplicitDefReg); - } + MIB.addReg(OpReg); updateValueMap(I, ResultReg); return true; |

