Home
last modified time | relevance | path

Searched full:msp430 (Results 1 – 25 of 111) sorted by relevance

12345

/freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/
H A DMSP430RegisterInfo.cpp1 //===-- 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 DMSP430InstrInfo.cpp1 //===-- 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 DMSP430FrameLowering.cpp1 //===-- 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 DMSP430ISelDAGToDAG.cpp1 //===-- 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 DMSP430ISelLowering.cpp1 //===-- 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 DMSP430Subtarget.cpp1 //===-- 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 DMSP430BranchSelector.cpp17 #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 DMSP430AsmPrinter.cpp1 //===-- 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 DMSP430RegisterInfo.td1 //===-- 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 DMSP430.h1 //==-- MSP430.h - Top-level interface for MSP430 representation --*- C++ -*-==//
10 // the LLVM MSP430 backend.
21 // MSP430 specific condition code.
H A DMSP430.td1 //===-- 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 DMSP430Disassembler.cpp1 //===-- 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 DMSP430AsmParser.cpp1 //===- 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 DMSP430ELFObjectWriter.cpp1 //===-- 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 DMSP430FixupKinds.h1 //===-- MSP430FixupKinds.h - MSP430 Specific Fixup Entries ------*- C++ -*-===//
14 #undef MSP430
17 namespace MSP430 {
20 // MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds]
49 } // end namespace MSP430
H A DMSP430MCTargetDesc.h1 //===-- 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 DMSP430InstPrinter.cpp1 //===-- 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 DMSP430MCCodeEmitter.cpp1 //===-- 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 DMSP430ELFStreamer.cpp1 //===-- 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 DMSP430MCTargetDesc.cpp1 //===-- 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 DMSP430AsmBackend.cpp1 //===-- 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 DMSP430.cpp1 //===- 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 DMSP430TargetInfo.cpp1 //===-- 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 DMSP430.cpp1 //===--- 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 DMSP430Attributes.h1 //===-- 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.

12345