Displaying 3 results from an estimated 3 matches for "largejit".
Did you mean:
large_int
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 single
2013 Jun 26
2
[LLVMdev] Contants generation - proposal
...acceptable in the large model. But that'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::getSe...
2013 Jun 25
2
[LLVMdev] Contants generation - proposal
Hi all,
I analyzed more and ready (1) to describe the problem and (2) I have a proposal.
(1) Problem description:
In X86_64 target the Code Model is "Large". It means that address is 64-bit and IP-relative memory operand can't be used in this case.
(Because in IP-relative memory operand the displacement is 32-bit).
In order to load constant, we use 2 instructions.
movabsq