search for: largenearconst

Displaying 3 results from an estimated 3 matches for "largenearconst".

2013 Jun 25
2
[LLVMdev] Contants generation - proposal
...bsq $.LCPI0_0, %rcx vmulpd (%rcx), %ymm0, %ymm0 It happens because .LCPI0_0 is in .rodata section and instruction itself is in .text. If I put the constant in .text, the code will look much better: vmulpd .LCPI0_0(%rip), %ymm0, %ymm0 (2) Proposal Define one more Code Model, let's say "LargeNearConst", which will allow to put constants in .text. I'd like to hear people's opinion. Will it help other targets? I'm ready to send a patch. Thank you. - Elena -----Original Message----- From: Tim Northover [mailto:t.p.northover at gmail.com] Sent: Tuesday, June 25, 2013 15:08 To...
2013 Jun 25
0
[LLVMdev] Contants generation - proposal
Hi Elena, > (2) Proposal > Define one more Code Model, let's say "LargeNearConst", which will allow to put constants in .text. Isn't that a little heavy-handed? The large model only requires the less efficient access for symbols we can't control, and in fact x86 still uses pc-relative conditional branches within a function so it can't pretend to support a sing...
2013 Jun 26
2
[LLVMdev] Contants generation - proposal
...39;s just me. By default, all constants should be in a special read-only section, and this section may be far from the text section. I'm working with JIT model or with only one object file. The code model, when all constants are near, we can call "LargeJIT". (Is it sounds better then LargeNearConst?) For X86 target JITDefault will be translated CodeModel::LargeJIT for x64 and CodeModel::Small for 32-bit. And the TargetLoweringObjectFile already has CodeModel inside. So the code will look like : const MCSection * TargetLoweringObjectFile::getSectionForConstant(SectionKind Kind) const { if...