From 85c84e759e86d3f6d77b6a1568e1c8d25cdf1814 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 18 Mar 2004 06:29:54 +0000 Subject: [PATCH] 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 --- lib/Target/X86/InstSelectSimple.cpp | 2 ++ lib/Target/X86/X86ISelSimple.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp index 5fad0e788af..e631fdb6ff5 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 5fad0e788af..e631fdb6ff5 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: -- 2.34.1