aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/InstSelectSimple.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-03-18 06:29:54 +0000
committerChris Lattner <sabre@nondot.org>2004-03-18 06:29:54 +0000
commit85c84e759e86d3f6d77b6a1568e1c8d25cdf1814 (patch)
tree9391fa3961d607e1dec1452f411af264605a5a5e /lib/Target/X86/InstSelectSimple.cpp
parentaa7ab53b99c37a809563513bb8d5ac9a9230b104 (diff)
Fix a really nasty bug that was breaking ijpeg in LLC mode. We were incorrectly
folding load instructions into other instructions across free instruction boundaries. Perhaps this will also fix the other strange failures? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12494 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/InstSelectSimple.cpp')
-rw-r--r--lib/Target/X86/InstSelectSimple.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index 5fad0e788a..e631fdb6ff 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -1422,6 +1422,8 @@ static bool isSafeToFoldLoadIntoInstruction(LoadInst &LI, Instruction &User) {
// really use alias analysis here, but for now we just do something simple.
for (++It; It != BasicBlock::iterator(&User); ++It) {
switch (It->getOpcode()) {
+ case Instruction::Malloc:
+ case Instruction::Free:
case Instruction::Store:
case Instruction::Call:
case Instruction::Invoke: