Displaying 8 results from an estimated 8 matches for "constpool_entry".
2015 Aug 04
2
[LLVMdev] Help needed about code & data mixing when emit object files
...ons use the entries (we have very limited range
PC-relative memory load). However, lld & llc output the object files that
gather all constant pool entries into one section. How can I make them mix
these entries into code section ?
By the way, I have read the ARM backend, and know how it place
CONSTPOOL_ENTRY in basic block islands. However, I could not understand how
to make it when emitting obj file. And when the code & data are mixed, the
disassembler will failed to parse the binary properly. For example, if we
place a CONSTPOOL_ENTRY in .text section and it will confused the
disassembler. I wond...
2011 Mar 29
2
[LLVMdev] ARM mapping symbols
Hi there,
I've created a bug on llvm:
http://www.llvm.org/bugs/show_bug.cgi?id=9582
Basically, ARM, Thumb and data mapping symbols should have been
exported in the ELF file, so the linker can work correctly.
I can do the change and create some test cases, but I haven't been
paying much attention to recent MC developments. Is ArmAsmPrinter the
place to change for that, or is there an MC
2011 Mar 29
0
[LLVMdev] ARM mapping symbols
...ave to change one place.
In particular, have a look at ARMAsmPrinter::EmitInstruction(). There's a big switch statement there for instructions that need any sorts of special handling. From the sounds of things, you'll be interested in the ARM::*_JT (jump table branch) instructions and ARM::CONSTPOOL_ENTRY.
These mapping symbols sound very similar to special-purpose assembler directives. Off the cuff, it makes sense to me to do something similar to the MCStreamer::EmitAssemblerFlag() routine.
-Jim
2013 Feb 21
0
[LLVMdev] constants in text section for mips 16
...xt section is reasonably simple, though
doesn't have a generic "pleasePutConstantsAfterFunctions()" call in
LLVM.
A good place to start would be the reverse of my recent patch to
AArch64 which removed the entire ConstantIslands thing. It looks like
the key points are creating a "CONSTPOOL_ENTRY" "instruction" which is
emitted in the AsmPrinter. A relatively simple pass should be able to
convert constpool entries as LLVM sees them into such instructions
(see "doInitialPlacement").
Most of the complexity is in moving the constants around so that
they're accessi...
2013 Feb 21
2
[LLVMdev] constants in text section for mips 16
I am working towards a more complete solution for large constants in
mips 16 (ala Arm constant islands and such). That is part of why I'm
busy expanding all macros being emitted in the mips 16 compiler (almost
done).
I'm wondering if there is a poor mans approach for large constants that
can be done very simply that I can add just for now.
Gcc mips 16 places them after the function
2013 Jun 24
2
[LLVMdev] Contants generation
Hi,
I'd like to generate constants inside .text in order to use ip-relative loads, when the code model is "large".
How can I do this?
(I'm on X86_64 linux)
Thank you.
- Elena
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the
2013 Jun 25
0
[LLVMdev] Contants generation
...lly the AArch64 backend did the same thing but I
switched to the x86 model back in February. Which means thar r175258
is a nice potted (but reversed) description of all the steps needed.
Ignore the more baroque parts of AArch64ConstantIslandsPass.cpp, yours
will probably only have to add a bunch of CONSTPOOL_ENTRYs at the end
of the function (the doInitialPlacement method, though even that does
more than you need).
I'll watch with interest to see how you handle it, AArch64 will
probably have the same issues in the large code model.
Cheers.
Tim.
2013 Feb 25
1
[LLVMdev] constants in text section for mips 16
...le, though
> doesn't have a generic "pleasePutConstantsAfterFunctions()" call in
> LLVM.
>
> A good place to start would be the reverse of my recent patch to
> AArch64 which removed the entire ConstantIslands thing. It looks like
> the key points are creating a "CONSTPOOL_ENTRY" "instruction" which is
> emitted in the AsmPrinter. A relatively simple pass should be able to
> convert constpool entries as LLVM sees them into such instructions
> (see "doInitialPlacement").
>
> Most of the complexity is in moving the constants around so...