diff options
| author | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2007-02-27 13:01:19 +0000 |
|---|---|---|
| committer | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2007-02-27 13:01:19 +0000 |
| commit | 89d81878d2b469e07693ab2220f0726007f91767 (patch) | |
| tree | 000106a9b041cf145242851799ab2f0b6c057091 /llvm/lib/Target/PowerPC/PPCISelLowering.cpp | |
| parent | b6e200bd68f0b9f32c0ab4efc6027fbf268f55c2 (diff) | |
| download | bcm5719-llvm-89d81878d2b469e07693ab2220f0726007f91767.tar.gz bcm5719-llvm-89d81878d2b469e07693ab2220f0726007f91767.zip | |
Differentiate between the MachO and the ELF ABI the CALL instruction.
llvm-svn: 34667
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp index 13cdadcea81..c29364c82f6 100644 --- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp @@ -326,7 +326,8 @@ const char *PPCTargetLowering::getTargetNodeName(unsigned Opcode) const { case PPCISD::SHL: return "PPCISD::SHL"; case PPCISD::EXTSW_32: return "PPCISD::EXTSW_32"; case PPCISD::STD_32: return "PPCISD::STD_32"; - case PPCISD::CALL: return "PPCISD::CALL"; + case PPCISD::CALL_ELF: return "PPCISD::CALL_ELF"; + case PPCISD::CALL_Macho: return "PPCISD::CALL_Macho"; case PPCISD::MTCTR: return "PPCISD::MTCTR"; case PPCISD::BCTRL_Macho: return "PPCISD::BCTRL_Macho"; case PPCISD::BCTRL_ELF: return "PPCISD::BCTRL_ELF"; @@ -1510,7 +1511,7 @@ static SDOperand LowerCALL(SDOperand Op, SelectionDAG &DAG, NodeTys.push_back(MVT::Flag); // Returns a flag for retval copy to use. SmallVector<SDOperand, 8> Ops; - unsigned CallOpc = PPCISD::CALL; + unsigned CallOpc = isMachoABI? PPCISD::CALL_Macho : PPCISD::CALL_ELF; // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol |

