On 09/03/15 17:01, [email protected] wrote:
> On 2015/03/09 10:14:26, jbramley wrote:
>> I'm curious about the constant-pool problem, though. Clang will use
>> constant
>> pools itself, so it must have some way of handling them.
>
> Clang will emit constant pools for ldr= at the end of the .text section.
> With
> LTO, the .text section could be large enough that the distance to the
> constant
> exceeds the maximum displacement. (In principle, I imagine clang could be
> fixed
> to emit the pool at the end of the function, but still in principle the
> function
> could be large enough to trigger the same problem, especially with
> inlining.)

Ok, so normal (pure C) literal pool loads use a different mechanism? If
so, that's very interesting to know! Whatever GCC does behaves in the
same way as ldr=, even if it is actually something else under the hood.

In general, it might be possible to bodge it with .ltorg, though that
probably wouldn't be an appropriate thing to do here anyway.

Thanks!
Jacob

> https://codereview.chromium.org/986643004/
>


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No:  2548782

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to