diff options
author | Chris Lattner <sabre@nondot.org> | 2004-03-18 06:29:54 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-03-18 06:29:54 +0000 |
commit | 85c84e759e86d3f6d77b6a1568e1c8d25cdf1814 (patch) | |
tree | 9391fa3961d607e1dec1452f411af264605a5a5e | |
parent | aa7ab53b99c37a809563513bb8d5ac9a9230b104 (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
-rw-r--r-- | lib/Target/X86/InstSelectSimple.cpp | 2 | ||||
-rw-r--r-- | lib/Target/X86/X86ISelSimple.cpp | 2 |
2 files changed, 4 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: diff --git a/lib/Target/X86/X86ISelSimple.cpp b/lib/Target/X86/X86ISelSimple.cpp index 5fad0e788a..e631fdb6ff 100644 --- a/lib/Target/X86/X86ISelSimple.cpp +++ b/lib/Target/X86/X86ISelSimple.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: |