[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
Devang Patel
dpatel at apple.com
Wed Apr 16 13:09:29 PDT 2008
On Apr 16, 2008, at 1:02 PM, Duncan Sands wrote:
> Hi Devang,
>
>> You can do inlining even when flag_unit_at_a_time is off. And one can
>> enable unit-at-a-time without enabling any optimizations. The unit-
>> at-
>> a-time is not meant to select optimization passes, though it may
>> influence selection.
>
> this flag is used quite a bit in llvm-backend.cpp, for example:
>
> if (flag_unit_at_a_time) {
> PM->add(createGlobalOptimizerPass()); // Optimize out
> global vars
> PM->add(createGlobalDCEPass()); // Remove unused
> fns and globs
> PM->add(createIPConstantPropagationPass()); // IP Constant
> Propagation
> PM->add(createDeadArgEliminationPass()); // Dead argument
> elimination
> }
>
> I thought I understood why but it seems that I don't :)
IMO, we should avoid using flag_unit_at_a_time here.
-
Devang
More information about the llvm-dev
mailing list