diff options
-rw-r--r-- | lib/Target/MBlaze/MBlazeISelLowering.cpp | 3 | ||||
-rw-r--r-- | lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp | 8 | ||||
-rw-r--r-- | lib/Target/MBlaze/MBlazeIntrinsicInfo.h | 1 | ||||
-rw-r--r-- | lib/Target/MBlaze/MBlazeMachineFunction.h | 16 | ||||
-rw-r--r-- | lib/Target/MBlaze/MBlazeRegisterInfo.cpp | 2 |
5 files changed, 17 insertions, 13 deletions
diff --git a/lib/Target/MBlaze/MBlazeISelLowering.cpp b/lib/Target/MBlaze/MBlazeISelLowering.cpp index 0acbe3fec6..7790248669 100644 --- a/lib/Target/MBlaze/MBlazeISelLowering.cpp +++ b/lib/Target/MBlaze/MBlazeISelLowering.cpp @@ -470,7 +470,6 @@ LowerCall(SDValue Chain, SDValue Callee, CallingConv::ID CallConv, SmallVectorImpl<SDValue> &InVals) { MachineFunction &MF = DAG.getMachineFunction(); MachineFrameInfo *MFI = MF.getFrameInfo(); - bool IsPIC = getTargetMachine().getRelocationModel() == Reloc::PIC_; // Analyze operands of the call, assigning locations to each operand. SmallVector<CCValAssign, 16> ArgLocs; @@ -556,7 +555,7 @@ LowerCall(SDValue Chain, SDValue Callee, CallingConv::ID CallConv, // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol // node so that legalize doesn't hack it. - unsigned char OpFlag = IsPIC ? MBlazeII::MO_GOT_CALL : MBlazeII::MO_NO_FLAG; + unsigned char OpFlag = MBlazeII::MO_NO_FLAG; if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee)) Callee = DAG.getTargetGlobalAddress(G->getGlobal(), getPointerTy(), 0, OpFlag); diff --git a/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp b/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp index a01c76b367..c8faffc845 100644 --- a/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp +++ b/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp @@ -32,6 +32,9 @@ namespace mblazeIntrinsic { , num_mblaze_intrinsics }; +#define GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN +#include "MBlazeGenIntrinsics.inc" +#undef GET_LLVM_INTRINSIC_FOR_GCC_BUILTIN } std::string MBlazeIntrinsicInfo::getName(unsigned IntrID, const Type **Tys, @@ -60,6 +63,11 @@ lookupName(const char *Name, unsigned Len) const { return 0; } +unsigned MBlazeIntrinsicInfo:: +lookupGCCName(const char *Name) const { + return mblazeIntrinsic::getIntrinsicForGCCBuiltin("mblaze",Name); +} + bool MBlazeIntrinsicInfo::isOverloaded(unsigned IntrID) const { // Overload Table const bool OTable[] = { diff --git a/lib/Target/MBlaze/MBlazeIntrinsicInfo.h b/lib/Target/MBlaze/MBlazeIntrinsicInfo.h index f40d425827..9804c7723b 100644 --- a/lib/Target/MBlaze/MBlazeIntrinsicInfo.h +++ b/lib/Target/MBlaze/MBlazeIntrinsicInfo.h @@ -22,6 +22,7 @@ namespace llvm { std::string getName(unsigned IntrID, const Type **Tys = 0, unsigned numTys = 0) const; unsigned lookupName(const char *Name, unsigned Len) const; + unsigned lookupGCCName(const char *Name) const; bool isOverloaded(unsigned IID) const; Function *getDeclaration(Module *M, unsigned ID, const Type **Tys = 0, unsigned numTys = 0) const; diff --git a/lib/Target/MBlaze/MBlazeMachineFunction.h b/lib/Target/MBlaze/MBlazeMachineFunction.h index a89ba13f72..08d4dcad6e 100644 --- a/lib/Target/MBlaze/MBlazeMachineFunction.h +++ b/lib/Target/MBlaze/MBlazeMachineFunction.h @@ -34,12 +34,11 @@ private: /// saved. This is used on Prologue and Epilogue to emit RA save/restore int RAStackOffset; - /// At each function entry, two special bitmask directives must be emitted - /// to help debugging, for CPU and FPU callee saved registers. Both need - /// the negative offset from the final stack size and its higher registers - /// location on the stack. + /// At each function entry a special bitmask directive must be emitted + /// to help in debugging CPU callee saved registers. It needs a negative + /// offset from the final stack size and its higher register location on + /// the stack. int CPUTopSavedRegOff; - int FPUTopSavedRegOff; /// MBlazeFIHolder - Holds a FrameIndex and it's Stack Pointer Offset struct MBlazeFIHolder { @@ -83,8 +82,8 @@ private: public: MBlazeFunctionInfo(MachineFunction& MF) : FPStackOffset(0), RAStackOffset(0), CPUTopSavedRegOff(0), - FPUTopSavedRegOff(0), GPHolder(-1,-1), HasLoadArgs(false), - HasStoreVarArgs(false), SRetReturnReg(0), GlobalBaseReg(0) + GPHolder(-1,-1), HasLoadArgs(false), HasStoreVarArgs(false), + SRetReturnReg(0), GlobalBaseReg(0) {} int getFPStackOffset() const { return FPStackOffset; } @@ -96,9 +95,6 @@ public: int getCPUTopSavedRegOff() const { return CPUTopSavedRegOff; } void setCPUTopSavedRegOff(int Off) { CPUTopSavedRegOff = Off; } - int getFPUTopSavedRegOff() const { return FPUTopSavedRegOff; } - void setFPUTopSavedRegOff(int Off) { FPUTopSavedRegOff = Off; } - int getGPStackOffset() const { return GPHolder.SPOffset; } int getGPFI() const { return GPHolder.FI; } void setGPStackOffset(int Off) { GPHolder.SPOffset = Off; } diff --git a/lib/Target/MBlaze/MBlazeRegisterInfo.cpp b/lib/Target/MBlaze/MBlazeRegisterInfo.cpp index b8d2349333..9067f8b357 100644 --- a/lib/Target/MBlaze/MBlazeRegisterInfo.cpp +++ b/lib/Target/MBlaze/MBlazeRegisterInfo.cpp @@ -96,7 +96,7 @@ unsigned MBlazeRegisterInfo::getPICCallReg() { /// MBlaze Callee Saved Registers const unsigned* MBlazeRegisterInfo:: getCalleeSavedRegs(const MachineFunction *MF) const { - // MBlaze callee-save register range is R19 - R31 + // MBlaze callee-save register range is R20 - R31 static const unsigned CalleeSavedRegs[] = { MBlaze::R20, MBlaze::R21, MBlaze::R22, MBlaze::R23, MBlaze::R24, MBlaze::R25, MBlaze::R26, MBlaze::R27, |