search for: constpool_entry

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