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...