/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/ |
H A D | MSP430RegisterInfo.cpp | 1 //===-- MSP430RegisterInfo.cpp - MSP430 Register Information --------------===// 9 // This file contains the MSP430 implementation of the TargetRegisterInfo class. 14 #include "MSP430.h" 28 #define DEBUG_TYPE "msp430-reg-info" 35 : MSP430GenRegisterInfo(MSP430::PC) {} in MSP430RegisterInfo() 42 MSP430::R4, MSP430::R5, MSP430::R6, MSP430::R7, in getCalleeSavedRegs() 43 MSP430 in getCalleeSavedRegs() [all...] |
H A D | MSP430InstrInfo.cpp | 1 //===-- MSP430InstrInfo.cpp - MSP430 Instruction Information --------------===// 9 // This file contains the MSP430 implementation of the TargetInstrInfo class. 14 #include "MSP430.h" 33 : MSP430GenInstrInfo(MSP430::ADJCALLSTACKDOWN, MSP430::ADJCALLSTACKUP), in MSP430InstrInfo() 50 if (RC == &MSP430::GR16RegClass) in storeRegToStackSlot() 51 BuildMI(MBB, MI, DL, get(MSP430::MOV16mr)) in storeRegToStackSlot() 54 else if (RC == &MSP430::GR8RegClass) in storeRegToStackSlot() 55 BuildMI(MBB, MI, DL, get(MSP430::MOV8mr)) in storeRegToStackSlot() 78 if (RC == &MSP430::GR16RegClass) in loadRegFromStackSlot() 79 BuildMI(MBB, MI, DL, get(MSP430::MOV16rm)) in loadRegFromStackSlot() [all …]
|
H A D | MSP430FrameLowering.cpp | 1 //===-- MSP430FrameLowering.cpp - MSP430 Frame Information ----------------===// 9 // This file contains the MSP430 implementation of TargetFrameLowering class. 110 BuildMI(MBB, MBBI, DL, TII.get(MSP430::PUSH16r)) in emitPrologue() 111 .addReg(MSP430::R4, RegState::Kill) in emitPrologue() 121 unsigned DwarfFramePtr = TRI->getDwarfRegNum(MSP430::R4, true); in emitPrologue() 128 BuildMI(MBB, MBBI, DL, TII.get(MSP430::MOV16rr), MSP430::R4) in emitPrologue() 129 .addReg(MSP430::SP) in emitPrologue() 140 MBBJ.addLiveIn(MSP430::R4); in emitPrologue() 147 (MBBI->getOpcode() == MSP430::PUSH16r)) { in emitPrologue() 174 BuildMI(MBB, MBBI, DL, TII.get(MSP430::SUB16ri), MSP430::SP) in emitPrologue() [all …]
|
H A D | MSP430ISelDAGToDAG.cpp | 1 //===-- MSP430ISelDAGToDAG.cpp - A dag to dag inst selector for MSP430 ----===// 9 // This file defines an instruction selector for the MSP430 target. 13 #include "MSP430.h" 32 #define DEBUG_TYPE "msp430-isel" 33 #define PASS_NAME "MSP430 DAG->DAG Pattern Instruction Selection" 88 /// MSP430DAGToDAGISel - MSP430 specific code to select MSP430 machine 135 /// MSP430-specific DAG, ready for instruction scheduling. in INITIALIZE_PASS() 263 AM.Base.Reg = CurDAG->getRegister(MSP430::SR, MVT::i16); in SelectAddr() 343 Opcode = MSP430::MOV8rp; in tryIndexedLoad() 346 Opcode = MSP430::MOV16rp; in tryIndexedLoad() [all …]
|
H A D | MSP430ISelLowering.cpp | 1 //===-- MSP430ISelLowering.cpp - MSP430 DAG Lowering Implementation ------===// 14 #include "MSP430.h" 37 #define DEBUG_TYPE "msp430-lower" 40 "msp430-no-legal-immediate", cl::Hidden, 49 addRegisterClass(MVT::i8, &MSP430::GR8RegClass); in MSP430TargetLowering() 50 addRegisterClass(MVT::i16, &MSP430::GR16RegClass); in MSP430TargetLowering() 56 setStackPointerRegisterToSaveRestore(MSP430::SP); in MSP430TargetLowering() 368 // tests/codegen/msp430/shift-amount-threshold-b.ll 376 // MSP430 Inline Assembly Support 403 return std::make_pair(0U, &MSP430::GR8RegClass); in getRegForInlineAsmConstraint() [all …]
|
H A D | MSP430Subtarget.cpp | 1 //===-- MSP430Subtarget.cpp - MSP430 Subtarget Information ----------------===// 9 // This file implements the MSP430 specific subclass of TargetSubtargetInfo. 14 #include "MSP430.h" 19 #define DEBUG_TYPE "msp430-subtarget" 23 cl::desc("Hardware multiplier use mode for MSP430"), 48 CPUName = "msp430"; in initializeSubtargetDependencies()
|
H A D | MSP430BranchSelector.cpp | 17 #include "MSP430.h" 28 #define DEBUG_TYPE "msp430-branch-select" 31 BranchSelectEnabled("msp430-branch-select", cl::Hidden, cl::init(true), 60 StringRef getPassName() const override { return "MSP430 Branch Selector"; } in getPassName() 124 if (MI->getOpcode() != MSP430::JCC && MI->getOpcode() != MSP430::JMP) { in expandBranches() 146 if (MI->getOpcode() == MSP430::JCC && std::next(MI) != EE) { in expandBranches() 183 if (MI->getOpcode() == MSP430::JCC) { in expandBranches() 190 // 1. MSP430 branch predicate in expandBranches() 196 MI = BuildMI(*MBB, MI, dl, TII->get(MSP430::JCC)) in expandBranches() 204 MI = BuildMI(*MBB, MI, dl, TII->get(MSP430::Bi)).addMBB(DestBB); in expandBranches()
|
H A D | MSP430AsmPrinter.cpp | 1 //===-- MSP430AsmPrinter.cpp - MSP430 LLVM assembly writer ----------------===// 10 // of machine-dependent LLVM code to the MSP430 assembly language. 15 #include "MSP430.h" 47 StringRef getPassName() const override { return "MSP430 Assembly Printer"; } in getPassName() 98 // Otherwise (!) msp430-as will silently miscompile the output :( in printOperand() 115 if (Disp.isImm() && Base.getReg() == MSP430::SR) in printSrcMemOperand() 120 if (Base.getReg() != MSP430::SR && Base.getReg() != MSP430::PC) { in printSrcMemOperand()
|
H A D | MSP430RegisterInfo.td | 1 //===-- MSP430RegisterInfo.td - MSP430 Register defs -------*- tablegen -*-===// 10 // Declarations that describe the MSP430 register file 15 let Namespace = "MSP430"; 25 let Namespace = "MSP430"; 52 def subreg_8bit : SubRegIndex<8> { let Namespace = "MSP430"; } 73 def GR8 : RegisterClass<"MSP430", [i8], 8, 81 def GR16 : RegisterClass<"MSP430", [i16], 16,
|
H A D | MSP430.h | 1 //==-- MSP430.h - Top-level interface for MSP430 representation --*- C++ -*-==// 10 // the LLVM MSP430 backend. 21 // MSP430 specific condition code.
|
H A D | MSP430.td | 1 //===-- MSP430.td - Describe the MSP430 Target Machine -----*- tablegen -*-===// 8 // This is the top level entry point for the MSP430 target. 22 "Enable MSP430-X extensions">; 37 // MSP430 supported processors. 43 def : Proc<"msp430", []>; 87 def MSP430 : Target {
|
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/Disassembler/ |
H A D | MSP430Disassembler.cpp | 1 //===-- MSP430Disassembler.cpp - Disassembler for MSP430 ------------------===// 14 #include "MSP430.h" 27 #define DEBUG_TYPE "msp430-disassembler" 67 MSP430::PCB, MSP430::SPB, MSP430::SRB, MSP430::CGB, 68 MSP430::R4B, MSP430::R5B, MSP430::R6B, MSP430::R7B, 69 MSP430::R8B, MSP430::R9B, MSP430::R10B, MSP430::R11B, 70 MSP430::R12B, MSP430::R13B, MSP430::R14B, MSP430::R15B 85 MSP430::PC, MSP430::SP, MSP430::SR, MSP430::CG, 86 MSP430::R4, MSP430::R5, MSP430::R6, MSP430::R7, 87 MSP430::R8, MSP430::R9, MSP430::R10, MSP430::R11, [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/AsmParser/ |
H A D | MSP430AsmParser.cpp | 1 //===- MSP430AsmParser.cpp - Parse MSP430 assembly to MCInst instructions -===// 9 #include "MSP430.h" 31 #define DEBUG_TYPE "msp430-asm-parser" 37 /// Parses MSP430 assembly from a stream. 90 /// A parsed MSP430 assembly operand. 310 if (Reg == MSP430::NoRegister) { in tryParseRegister() 312 if (Reg == MSP430::NoRegister) in tryParseRegister() 466 MCRegister RegNo = MSP430::PC; in ParseOperand() 490 Operands.push_back(MSP430Operand::CreateMem(MSP430::SR, Val, StartLoc, in ParseOperand() 552 case MSP430::PC: return MSP430::PCB; in convertGR16ToGR8() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/ |
H A D | MSP430ELFObjectWriter.cpp | 1 //===-- MSP430ELFObjectWriter.cpp - MSP430 ELF Writer ---------------------===// 37 case MSP430::fixup_32: return ELF::R_MSP430_32; in getRelocType() 38 case MSP430::fixup_10_pcrel: return ELF::R_MSP430_10_PCREL; in getRelocType() 39 case MSP430::fixup_16: return ELF::R_MSP430_16; in getRelocType() 40 case MSP430::fixup_16_pcrel: return ELF::R_MSP430_16_PCREL; in getRelocType() 41 case MSP430::fixup_16_byte: return ELF::R_MSP430_16_BYTE; in getRelocType() 42 case MSP430::fixup_16_pcrel_byte: return ELF::R_MSP430_16_PCREL_BYTE; in getRelocType() 43 case MSP430::fixup_2x_pcrel: return ELF::R_MSP430_2X_PCREL; in getRelocType() 44 case MSP430::fixup_rl_pcrel: return ELF::R_MSP430_RL_PCREL; in getRelocType() 45 case MSP430::fixup_8: return ELF::R_MSP430_8; in getRelocType() [all …]
|
H A D | MSP430FixupKinds.h | 1 //===-- MSP430FixupKinds.h - MSP430 Specific Fixup Entries ------*- C++ -*-===// 14 #undef MSP430 17 namespace MSP430 { 20 // MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds] 49 } // end namespace MSP430
|
H A D | MSP430MCTargetDesc.h | 1 //===-- MSP430MCTargetDesc.h - MSP430 Target Descriptions -------*- C++ -*-===// 9 // This file provides MSP430 specific target descriptions. 32 /// Creates a machine code emitter for MSP430. 49 // Defines symbolic names for MSP430 registers. 54 // Defines symbolic names for the MSP430 instructions.
|
H A D | MSP430InstPrinter.cpp | 1 //===-- MSP430InstPrinter.cpp - Convert MSP430 MCInst to assembly syntax --===// 9 // This class prints an MSP430 MCInst to a .s file. 14 #include "MSP430.h" 84 // Otherwise (!) msp430-as will silently miscompile the output :( in printSrcMemOperand() 85 if (Base.getReg() == MSP430::SR) in printSrcMemOperand() 96 if ((Base.getReg() != MSP430::SR) && in printSrcMemOperand() 97 (Base.getReg() != MSP430::PC)) in printSrcMemOperand()
|
H A D | MSP430MCCodeEmitter.cpp | 1 //===-- MSP430MCCodeEmitter.cpp - Convert MSP430 code to machine code -----===// 13 #include "MSP430.h" 117 static_cast<MCFixupKind>(MSP430::fixup_16_byte), MI.getLoc())); in getMachineOpValue() 136 MSP430::Fixups FixupKind; in getMemOpValue() 139 FixupKind = MSP430::fixup_16_pcrel_byte; in getMemOpValue() 142 FixupKind = MSP430::fixup_16_byte; in getMemOpValue() 145 FixupKind = MSP430::fixup_16_byte; in getMemOpValue() 163 static_cast<MCFixupKind>(MSP430::fixup_10_pcrel), MI.getLoc())); in getPCRelImmOpValue()
|
H A D | MSP430ELFStreamer.cpp | 1 //===-- MSP430ELFStreamer.cpp - MSP430 ELF Target Streamer Methods --------===// 9 // This file provides MSP430 specific target streamer methods. 39 // MSP430 EABI (slaa534.pdf, part 13). in MSP430TargetELFStreamer() 41 ".MSP430.attributes", ELF::SHT_MSP430_ATTRIBUTES, 0); in MSP430TargetELFStreamer() 58 Streamer.emitInt8(STI.hasFeature(MSP430::FeatureX) ? ISAMSP430X : ISAMSP430); in MSP430TargetELFStreamer()
|
H A D | MSP430MCTargetDesc.cpp | 1 //===-- MSP430MCTargetDesc.cpp - MSP430 Target Descriptions ---------------===// 9 // This file provides MSP430 specific target descriptions. 43 InitMSP430MCRegisterInfo(X, MSP430::PC); in createMSP430MCRegisterInfo() 57 nullptr, MRI.getDwarfRegNum(MSP430::SP, true), -stackGrowth); in createMSP430MCAsmInfo() 62 nullptr, MRI.getDwarfRegNum(MSP430::PC, true), stackGrowth); in createMSP430MCAsmInfo()
|
H A D | MSP430AsmBackend.cpp | 1 //===-- MSP430AsmBackend.cpp - MSP430 Assembler Backend -------------------===// 59 return MSP430::NumTargetFixupKinds; in getNumFixupKinds() 63 const static MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds] = { in getFixupKindInfo() 78 static_assert((std::size(Infos)) == MSP430::NumTargetFixupKinds, in getFixupKindInfo() 96 case MSP430::fixup_10_pcrel: { in adjustFixupValue() 150 // The canonical nop on MSP430 is mov #0, r3 in writeNopData()
|
/freebsd/contrib/llvm-project/lld/ELF/Arch/ |
H A D | MSP430.cpp | 1 //===- MSP430.cpp ---------------------------------------------------------===// 9 // The MSP430 is a 16-bit microcontroller RISC architecture. The instruction set 12 // of MSP430 is 64KB (the extended MSP430X architecture is not considered here). 13 // A typical MSP430 MCU has several kilobytes of RAM and ROM, plenty 32 class MSP430 final : public TargetInfo { class 34 MSP430(); 42 MSP430::MSP430() { in MSP430() function in MSP430 47 RelExpr MSP430::getRelExpr(RelType type, const Symbol &s, in getRelExpr() 62 void MSP430::relocate(uint8_t *loc, const Relocation &rel, uint64_t val) const { in relocate() 92 static MSP430 target; in getMSP430TargetInfo()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/TargetInfo/ |
H A D | MSP430TargetInfo.cpp | 1 //===-- MSP430TargetInfo.cpp - MSP430 Target Implementation ---------------===// 19 RegisterTarget<Triple::msp430> X(getTheMSP430Target(), "msp430", in LLVMInitializeMSP430TargetInfo() 20 "MSP430 [experimental]", "MSP430"); in LLVMInitializeMSP430TargetInfo()
|
/freebsd/contrib/llvm-project/clang/lib/Basic/Targets/ |
H A D | MSP430.cpp | 1 //===--- MSP430.cpp - Implement MSP430 target feature support -------------===// 9 // This file implements MSP430 TargetInfo objects. 13 #include "MSP430.h" 30 Builder.defineMacro("MSP430"); in getTargetDefines()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | MSP430Attributes.h | 1 //===-- MSP430Attributes.h - MSP430 Attributes ------------------*- C++ -*-===// 10 /// This file contains enumerations for MSP430 ELF build attributes as 11 /// defined in the MSP430 ELF psABI specification. 13 /// MSP430 ELF psABI specification 29 // Attribute types in ELF/.MSP430.attributes.
|