projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move getInitialFrameState() to TargetFrameInfo
[oota-llvm.git]
/
lib
/
Target
/
X86
/
X86FastISel.cpp
diff --git
a/lib/Target/X86/X86FastISel.cpp
b/lib/Target/X86/X86FastISel.cpp
index 75f02177bf9591849bbdd55e45cf1afc28e5a31c..ee6643336fd4f092c0126a72faec4af8959bb486 100644
(file)
--- a/
lib/Target/X86/X86FastISel.cpp
+++ b/
lib/Target/X86/X86FastISel.cpp
@@
-320,11
+320,11
@@
bool X86FastISel::X86SelectAddress(const Value *V, X86AddressMode &AM) {
// Don't walk into other basic blocks; it's possible we haven't
// visited them yet, so the instructions may not yet be assigned
// virtual registers.
// Don't walk into other basic blocks; it's possible we haven't
// visited them yet, so the instructions may not yet be assigned
// virtual registers.
- if (FuncInfo.
MBBMap[I->getParent()] != FuncInfo.MBB)
- return false;
-
-
Opcode = I->getOpcode()
;
- U = I;
+ if (FuncInfo.
StaticAllocaMap.count(static_cast<const AllocaInst *>(V)) ||
+ FuncInfo.MBBMap[I->getParent()] == FuncInfo.MBB) {
+ Opcode = I->getOpcode();
+
U = I
;
+ }
} else if (const ConstantExpr *C = dyn_cast<ConstantExpr>(V)) {
Opcode = C->getOpcode();
U = C;
} else if (const ConstantExpr *C = dyn_cast<ConstantExpr>(V)) {
Opcode = C->getOpcode();
U = C;
@@
-711,7
+711,7
@@
bool X86FastISel::X86SelectRet(const Instruction *I) {
return false;
// TODO: For now, don't try to handle cases where getLocInfo()
// says Full but the types don't match.
return false;
// TODO: For now, don't try to handle cases where getLocInfo()
// says Full but the types don't match.
- if (
VA.getValVT() != TLI.getValueType(RV->getType()
))
+ if (
TLI.getValueType(RV->getType()) != VA.getValVT(
))
return false;
// The calling-convention tables for x87 returns don't tell
return false;
// The calling-convention tables for x87 returns don't tell