diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-04-01 05:57:17 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-04-01 05:57:17 +0000 |
commit | a7e11a4bb5a432ba94421655f7ebc63d2acebd1a (patch) | |
tree | d342fd9a5237897a55685d4e3a191acf7d7f2de0 /lib/Target/PowerPC/PPCISelPattern.cpp | |
parent | 04730361b52a9639ac7578d110feb9237b0c8ae0 (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.cpp | 10 |
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); |