search for: addexternalsymbol

Displaying 12 results from an estimated 12 matches for "addexternalsymbol".

2013 Sep 17
2
[LLVMdev] forcing two instructions to be together
...king at? There are various mechanisms that can be applied, depending on exactly what the constraints are that you need to preserve. >> >> —Owen > I have two machine instructions that I need to be together. > > BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) > .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); > BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) > .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); > > It's in Mips16ISelDagToDag.cpp > > these two have to be together because they are both part of a complex...
2013 Sep 17
2
[LLVMdev] forcing two instructions to be together
...depending on exactly what the constraints are that you > need to preserve. > >>> > >>> -Owen > >> I have two machine instructions that I need to be together. > >> > >> BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) > >> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); > >> BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) > >> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); > >> > >> It's in Mips16ISelDagToDag.cpp > >> > >> these two have...
2013 Sep 17
0
[LLVMdev] forcing two instructions to be together
...ous mechanisms that can be applied, depending on exactly what the constraints are that you need to preserve. >>> >>> —Owen >> I have two machine instructions that I need to be together. >> >> BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) >> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); >> BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) >> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); >> >> It's in Mips16ISelDagToDag.cpp >> >> these two have to be together because they ar...
2013 Sep 18
2
[LLVMdev] forcing two instructions to be together
...pending on exactly what the constraints are that you >> need to preserve. >>>>> -Owen >>>> I have two machine instructions that I need to be together. >>>> >>>> BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) >>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); >>>> BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) >>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); >>>> >>>> It's in Mips16ISelDagToDag.cpp >>>> >>>...
2013 Sep 18
0
[LLVMdev] forcing two instructions to be together
...pending on exactly what the constraints are that you >> need to preserve. >>>>> -Owen >>>> I have two machine instructions that I need to be together. >>>> >>>> BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) >>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); >>>> BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) >>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); >>>> >>>> It's in Mips16ISelDagToDag.cpp >>>> >>>...
2013 Sep 18
0
[LLVMdev] forcing two instructions to be together
...the constraints are that you >>> need to preserve. >>>>>> -Owen >>>>> I have two machine instructions that I need to be together. >>>>> >>>>> BuildMI(MBB, I, DL, TII.get(Mips::LiRxImmAlignX16), V0) >>>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_HI); >>>>> BuildMI(MBB, I, DL, TII.get(Mips::AddiuRxPcImmX16), V1) >>>>> .addExternalSymbol("_gp_disp", MipsII::MO_ABS_LO); >>>>> >>>>> It's in Mips16ISelDagToDag.cpp >>>&g...
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion
...); // create a MBB MBB->setNumber(19880616); // set the number of MBB to be 19880616 which is used as an ID Pred->addSuccessor(MBB); const TargetInstrInfo *TII = MF.getTarget().getInstrInfo(); DebugLoc dl; // CALLpcrel32 abort BuildMI(MBB,dl,TII->get(X86::CALLpcrel32)).addExternalSymbol("abort"); // JNE_4 error_label BuildMI(MBB,dl,TII->get(X86::JNE_4)).addExternalSymbol("error_label"); // MOV32ri %eax, 0 BuildMI(MBB,dl,TII->get(X86::MOV32ri),X86::EAX).addImm(0); // CALL32r %eax // BuildMI(MBB,dl,TII->get(X86::CALL32r)).addReg(X86::EA...
2005 Apr 15
2
[LLVMdev] MachineInstr: external symbols problem
Hello, I just wrote the code like this: BuildMI(BB, NM::CALL, 1) .addExternalSymbol(("_lvksda_control_marker_" + lexical_cast<string>(bb)).c_str()); and got some unexpected string in the assembler output. The problem is that when external symbol is added to MachineInstruction, MachineOperand is created with the char* argum...
2005 Apr 15
0
[LLVMdev] MachineInstr: external symbols problem
On Fri, 15 Apr 2005, Vladimir Prus wrote: > Hello, > I just wrote the code like this: > > BuildMI(BB, NM::CALL, 1) > .addExternalSymbol(("_lvksda_control_marker_" > + lexical_cast<string>(bb)).c_str()); > > and got some unexpected string in the assembler output. The problem is > that when external symbol is added to MachineInstruction, MachineOperand > is create...
2010 Oct 20
1
[LLVMdev] MachineBasicBlock insertion and use/def list update
...e number of MBB to be 19880616 >> which is used as an ID >> >> Pred->addSuccessor(MBB); >> const TargetInstrInfo *TII = MF.getTarget().getInstrInfo(); >> DebugLoc dl; >> // CALLpcrel32 abort >> BuildMI(MBB,dl,TII->get(X86::CALLpcrel32)).addExternalSymbol("abort"); >> // JNE_4 error_label >> BuildMI(MBB,dl,TII->get(X86::JNE_4)).addExternalSymbol("error_label"); >> // MOV32ri %eax, 0 >> BuildMI(MBB,dl,TII->get(X86::MOV32ri),X86::EAX).addImm(0); >> // CALL32r %eax >> // Bu...
2005 Apr 15
3
[LLVMdev] MachineInstr: external symbols problem
On Friday 15 April 2005 18:49, Chris Lattner wrote: > On Fri, 15 Apr 2005, Vladimir Prus wrote: > > Hello, > > I just wrote the code like this: > > > > BuildMI(BB, NM::CALL, 1) > > .addExternalSymbol(("_lvksda_control_marker_" > > + > > lexical_cast<string>(bb)).c_str()); > > > > and got some unexpected string in the assembler output. The problem is > > that when external symbol is added to MachineInstruction, M...
2018 Sep 22
2
Quick question: How to BuildMI mov64mi32 arbitrary MMB address to memory
...ve the hard coded address of an arbitrary machine basic block to memory in ASM. I know the assembly needed for this but am lost at how to construct the BuildMI(). Note that these machine basic blocks are not entry's to a function. but in the middle of the function. so using addGlobalAddress or addExternalSymbol are no use to me and am trying to avoid having to make a separate jump table section. Is a jump table section with symbols associated with these new basic blocks the only option? In x86 assembly this would look something like: MOVQ 0x40044540, 0x8(%rsp) # Store address of trampoline basic...