Mercurial > hg > CbC > CbC_llvm
comparison lib/Target/MSP430/MSP430MCInstLower.cpp @ 77:54457678186b LLVM3.6
LLVM 3.6
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 08 Sep 2014 22:06:00 +0900 |
parents | 95c75e76d11b |
children | 60c9769439b8 |
comparison
equal
deleted
inserted
replaced
34:e874dbf0ad9d | 77:54457678186b |
---|---|
15 #include "MSP430MCInstLower.h" | 15 #include "MSP430MCInstLower.h" |
16 #include "llvm/ADT/SmallString.h" | 16 #include "llvm/ADT/SmallString.h" |
17 #include "llvm/CodeGen/AsmPrinter.h" | 17 #include "llvm/CodeGen/AsmPrinter.h" |
18 #include "llvm/CodeGen/MachineBasicBlock.h" | 18 #include "llvm/CodeGen/MachineBasicBlock.h" |
19 #include "llvm/CodeGen/MachineInstr.h" | 19 #include "llvm/CodeGen/MachineInstr.h" |
20 #include "llvm/IR/DataLayout.h" | |
21 #include "llvm/IR/Mangler.h" | |
20 #include "llvm/MC/MCAsmInfo.h" | 22 #include "llvm/MC/MCAsmInfo.h" |
21 #include "llvm/MC/MCContext.h" | 23 #include "llvm/MC/MCContext.h" |
22 #include "llvm/MC/MCExpr.h" | 24 #include "llvm/MC/MCExpr.h" |
23 #include "llvm/MC/MCInst.h" | 25 #include "llvm/MC/MCInst.h" |
24 #include "llvm/Support/ErrorHandling.h" | 26 #include "llvm/Support/ErrorHandling.h" |
25 #include "llvm/Support/raw_ostream.h" | 27 #include "llvm/Support/raw_ostream.h" |
26 #include "llvm/Target/Mangler.h" | 28 #include "llvm/Target/TargetMachine.h" |
29 #include "llvm/Target/TargetSubtargetInfo.h" | |
27 using namespace llvm; | 30 using namespace llvm; |
28 | 31 |
29 MCSymbol *MSP430MCInstLower:: | 32 MCSymbol *MSP430MCInstLower:: |
30 GetGlobalAddressSymbol(const MachineOperand &MO) const { | 33 GetGlobalAddressSymbol(const MachineOperand &MO) const { |
31 switch (MO.getTargetFlags()) { | 34 switch (MO.getTargetFlags()) { |
46 return Printer.GetExternalSymbolSymbol(MO.getSymbolName()); | 49 return Printer.GetExternalSymbolSymbol(MO.getSymbolName()); |
47 } | 50 } |
48 | 51 |
49 MCSymbol *MSP430MCInstLower:: | 52 MCSymbol *MSP430MCInstLower:: |
50 GetJumpTableSymbol(const MachineOperand &MO) const { | 53 GetJumpTableSymbol(const MachineOperand &MO) const { |
54 const DataLayout *DL = Printer.TM.getSubtargetImpl()->getDataLayout(); | |
51 SmallString<256> Name; | 55 SmallString<256> Name; |
52 raw_svector_ostream(Name) << Printer.MAI->getPrivateGlobalPrefix() << "JTI" | 56 raw_svector_ostream(Name) << DL->getPrivateGlobalPrefix() << "JTI" |
53 << Printer.getFunctionNumber() << '_' | 57 << Printer.getFunctionNumber() << '_' |
54 << MO.getIndex(); | 58 << MO.getIndex(); |
55 | 59 |
56 switch (MO.getTargetFlags()) { | 60 switch (MO.getTargetFlags()) { |
57 default: llvm_unreachable("Unknown target flag on GV operand"); | 61 default: llvm_unreachable("Unknown target flag on GV operand"); |
62 return Ctx.GetOrCreateSymbol(Name.str()); | 66 return Ctx.GetOrCreateSymbol(Name.str()); |
63 } | 67 } |
64 | 68 |
65 MCSymbol *MSP430MCInstLower:: | 69 MCSymbol *MSP430MCInstLower:: |
66 GetConstantPoolIndexSymbol(const MachineOperand &MO) const { | 70 GetConstantPoolIndexSymbol(const MachineOperand &MO) const { |
71 const DataLayout *DL = Printer.TM.getSubtargetImpl()->getDataLayout(); | |
67 SmallString<256> Name; | 72 SmallString<256> Name; |
68 raw_svector_ostream(Name) << Printer.MAI->getPrivateGlobalPrefix() << "CPI" | 73 raw_svector_ostream(Name) << DL->getPrivateGlobalPrefix() << "CPI" |
69 << Printer.getFunctionNumber() << '_' | 74 << Printer.getFunctionNumber() << '_' |
70 << MO.getIndex(); | 75 << MO.getIndex(); |
71 | 76 |
72 switch (MO.getTargetFlags()) { | 77 switch (MO.getTargetFlags()) { |
73 default: llvm_unreachable("Unknown target flag on GV operand"); | 78 default: llvm_unreachable("Unknown target flag on GV operand"); |