[llvm-commits] [PATCH] Disable ARM partial flag dependency optimization at -Oz

Jim Grosbach grosbach at apple.com
Tue Dec 18 13:28:06 PST 2012


LGTM!

This should work even for the combination of muddles Renato mentions, as we're re-initializing the value for each MachineFunction we process.

-Jim

On Dec 18, 2012, at 1:22 PM, Quentin Colombet <qcolombet at apple.com> wrote:

> Hi,
> 
> Thanks for the reviews.
> 
> I'd like Jim's idea about caching the information in a local class variable.
> I've updated the patch accordingly.
> 
> New patch attached.
> 
> -Quentin
> 
> <Thumb2SizeReduction-Oz.patch>
> 
> On Dec 18, 2012, at 1:00 PM, Renato Golin <rengolin at systemcall.org> wrote:
> 
>> On 18 December 2012 20:18, Jim Grosbach <grosbach at apple.com> wrote:
>>> The command line options aren't really available here, and we'd have to check for a function-local override anyway, so I don't think that'll work out.
>> 
>> True, I forgot about that.
>> 
>> 
>>> Is there concern here the potential compile time impact? Accessing the attribute list should be pretty quick (a couple of pointer indirections and a bit mask).
>> 
>> Mainly, yes, but I agree it's not a big problem.
>> 
>> 
>>> If we want, we could cache the value locally in the size reduction pass as a local class ivar and initialize it at the start of runOnMachineFunction(). That would make the access a single pointer indirection off the 'this' pointer for the pass.
>> 
>> If that pass would only run on a single module, that'd make sense. But
>> if you could run it (opt) on a collation of different modules,
>> possibly compiled with different flags, than I'd think you'd need the
>> full check.
>> 
>> I agree that the lookup is cheap, sorry for having over-complicated things. ;)
>> 
>> LGTM.
>> 
>> cheers,
>> --renato
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121218/eaf04fcf/attachment.html>


More information about the llvm-commits mailing list