aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCISelPattern.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-04-01 05:57:17 +0000
committerNate Begeman <natebegeman@mac.com>2005-04-01 05:57:17 +0000
commita7e11a4bb5a432ba94421655f7ebc63d2acebd1a (patch)
treed342fd9a5237897a55685d4e3a191acf7d7f2de0 /lib/Target/PowerPC/PPCISelPattern.cpp
parent04730361b52a9639ac7578d110feb9237b0c8ae0 (diff)
Fix stores to global addresses
Fix calls with no arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20975 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelPattern.cpp')
-rw-r--r--lib/Target/PowerPC/PPCISelPattern.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/Target/PowerPC/PPCISelPattern.cpp b/lib/Target/PowerPC/PPCISelPattern.cpp
index 3acd5db0c6..9b70f3d23a 100644
--- a/lib/Target/PowerPC/PPCISelPattern.cpp
+++ b/lib/Target/PowerPC/PPCISelPattern.cpp
@@ -210,7 +210,8 @@ PPC32TargetLowering::LowerCallTo(SDOperand Chain,
unsigned NumBytes = 24;
if (Args.empty()) {
- NumBytes = 0; // Save zero bytes.
+ Chain = DAG.getNode(ISD::ADJCALLSTACKDOWN, MVT::Other, Chain,
+ DAG.getConstant(NumBytes, getPointerTy()));
} else {
for (unsigned i = 0, e = Args.size(); i != e; ++i)
switch (getValueType(Args[i].second)) {
@@ -1545,12 +1546,7 @@ void ISel::Select(SDOperand N) {
}
}
- if (Address.getOpcode() == ISD::GlobalAddress)
- {
- BuildMI(BB, Opc, 2).addReg(Tmp1)
- .addGlobalAddress(cast<GlobalAddressSDNode>(Address)->getGlobal());
- }
- else if(Address.getOpcode() == ISD::FrameIndex)
+ if(Address.getOpcode() == ISD::FrameIndex)
{
Tmp2 = cast<FrameIndexSDNode>(Address)->getIndex();
addFrameReference(BuildMI(BB, Opc, 3).addReg(Tmp1), (int)Tmp2);