summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrInfo.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-23 23:14:44 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-23 23:14:44 +0000
commit31da45b7affe22dcd423f8bc874f7a67e50385da (patch)
tree34996fe1544fa8aafae93b6f1c83f9b22ba8d13a /llvm/lib/Target/X86/X86InstrInfo.cpp
parent6a64320da86b608a01d5d3ddf69f45c658c8a901 (diff)
downloadbcm5719-llvm-31da45b7affe22dcd423f8bc874f7a67e50385da.tar.gz
bcm5719-llvm-31da45b7affe22dcd423f8bc874f7a67e50385da.zip
Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.
This is work in progress. So far, SSE execution domain tables are added to X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix. llvm-svn: 99345
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp
index 2323f5790ab..71a4dae6a5f 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.cpp
+++ b/llvm/lib/Target/X86/X86InstrInfo.cpp
@@ -665,6 +665,9 @@ X86InstrInfo::X86InstrInfo(X86TargetMachine &tm)
// Remove ambiguous entries.
assert(AmbEntries.empty() && "Duplicated entries in unfolding maps?");
+
+ if (TM.getSubtarget<X86Subtarget>().hasSSE2())
+ populateSSEInstrDomainTable();
}
bool X86InstrInfo::isMoveInstr(const MachineInstr& MI,
OpenPOWER on IntegriCloud