diff --git a/llvm/lib/Target/Sparc/Makefile b/llvm/lib/Target/Sparc/Makefile index c9e7edc9ba17..c70b786a25a5 100644 --- a/llvm/lib/Target/Sparc/Makefile +++ b/llvm/lib/Target/Sparc/Makefile @@ -1,14 +1,21 @@ LEVEL = ../../.. LIBRARYNAME = sparc +ExtraSource = Debug/Sparc.burm.cpp -ExtraSource = Sparc.burm.cpp - +#all:: Debug/Sparc.burg +#all:: Sparc.burm.cpp include $(LEVEL)/Makefile.common +Debug/Sparc.burm.cpp: Debug/Sparc.burm + $(RunBurg) $< -o $@ + +Debug/Sparc.burm.o: Debug/Sparc.burm.cpp + $(CompileG) $< -o $@ + Debug/Sparc.burg.in1 : Sparc.burg.in Debug/.dir g++ -E -I$(LEVEL)/include -D_DEBUG -x c++ $< | sed '/^# /d' | sed 's/Ydefine/#define/' > $@ -Debug/Sparc.burg : Debug/Sparc.burg.in1 Debug/.dir +Debug/Sparc.burm : Debug/Sparc.burg.in1 Debug/.dir g++ -E -I$(LEVEL)/include -D_DEBUG -x c++ $< | sed '/^# /d' | sed 's/Xinclude/#include/g' | sed 's/Xdefine/#define/g' > $@ Depend/Sparc.burm.d: diff --git a/llvm/lib/Target/Sparc/Sparc.cpp b/llvm/lib/Target/Sparc/Sparc.cpp index a3dd8c883512..aaf87a3979c6 100644 --- a/llvm/lib/Target/Sparc/Sparc.cpp +++ b/llvm/lib/Target/Sparc/Sparc.cpp @@ -12,7 +12,7 @@ #include "llvm/CodeGen/MachineCodeForInstruction.h" #include "llvm/CodeGen/MachineCodeForMethod.h" #include "llvm/CodeGen/RegisterAllocation.h" -#include "llvm/CodeGen/MappingInfo.h" +//#include "llvm/CodeGen/MappingInfo.h" #include "llvm/Function.h" #include "llvm/BasicBlock.h" #include "llvm/PassManager.h" @@ -197,7 +197,7 @@ void UltraSparc::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) { PM.add(createPrologEpilogCodeInserter(*this)); - PM.add(MappingInfoForFunction(Out)); + //PM.add(MappingInfoForFunction(Out)); // Output assembly language to the .s file. Assembly emission is split into // two parts: Function output and Global value output. This is because diff --git a/llvm/lib/Target/Sparc/SparcInstrInfo.cpp b/llvm/lib/Target/Sparc/SparcInstrInfo.cpp index 1c852f37b7bd..a634683c8f07 100644 --- a/llvm/lib/Target/Sparc/SparcInstrInfo.cpp +++ b/llvm/lib/Target/Sparc/SparcInstrInfo.cpp @@ -236,7 +236,7 @@ CreateUIntSetInstruction(const TargetMachine& target, return; } } -#endif SIGN_EXTEND_FOR_UNSIGNED_DEST +#endif /*SIGN_EXTEND_FOR_UNSIGNED_DEST*/ CreateSETUWConst(target, C, dest, mvec); } diff --git a/llvm/lib/Target/Sparc/SparcInternals.h b/llvm/lib/Target/Sparc/SparcInternals.h index 92c938ece0b4..aea653ebdb28 100644 --- a/llvm/lib/Target/Sparc/SparcInternals.h +++ b/llvm/lib/Target/Sparc/SparcInternals.h @@ -418,6 +418,7 @@ public: else if (ureg < 1 +100) { regClassID = IntCCRegClassID; return ureg-100;} else if (ureg == InvalidRegNum) { return InvalidRegNum; } else { assert(0 && "Invalid unified register number"); } + return 0; } // Returns the assembly-language name of the specified machine register. diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp index c321adc25fb6..b875dbed2241 100644 --- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp +++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp @@ -168,6 +168,7 @@ UltraSparcRegInfo::regNumForFPArg(unsigned regType, InvalidRegNum : SparcFloatRegOrder::f0 + (argNo * 2); else assert(0 && "Illegal FP register type"); + return 0; } } @@ -224,7 +225,7 @@ int UltraSparcRegInfo::getRegType(int unifiedRegNum) const { // To find the register class used for a specified Type // unsigned UltraSparcRegInfo::getRegClassIDOfType(const Type *type, - bool isCCReg = false) const { + bool isCCReg) const { Type::PrimitiveID ty = type->getPrimitiveID(); unsigned res; @@ -1116,7 +1117,7 @@ UltraSparcRegInfo::cpReg2MemMI(vector& mvec, unsigned SrcReg, unsigned DestPtrReg, int Offset, int RegType, - int scratchReg = -1) const { + int scratchReg) const { MachineInstr * MI = NULL; switch( RegType ) { case IntRegType: @@ -1185,7 +1186,7 @@ UltraSparcRegInfo::cpMem2RegMI(vector& mvec, int Offset, unsigned DestReg, int RegType, - int scratchReg = -1) const { + int scratchReg) const { MachineInstr * MI = NULL; switch (RegType) { case IntRegType: