[llvm] r296601 - [X86] Fix creating vreg def after use.
Ayman Musa via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 1 02:20:49 PST 2017
Author: aymanmus
Date: Wed Mar 1 04:20:48 2017
New Revision: 296601
URL: http://llvm.org/viewvc/llvm-project?rev=296601&view=rev
Log:
[X86] Fix creating vreg def after use.
Modified:
llvm/trunk/lib/Target/X86/X86FastISel.cpp
Modified: llvm/trunk/lib/Target/X86/X86FastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FastISel.cpp?rev=296601&r1=296600&r2=296601&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86FastISel.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86FastISel.cpp Wed Mar 1 04:20:48 2017
@@ -2423,17 +2423,22 @@ bool X86FastISel::X86SelectFPExtOrFPTrun
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;
More information about the llvm-commits
mailing list