[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
Devang Patel
dpatel at apple.com
Thu Apr 17 09:24:46 PDT 2008
On Apr 17, 2008, at 2:26 AM, Duncan Sands wrote:
> Hi Devang,
>
>>> 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.
>
> given DannyB's explanation that this flag exists in gcc so that glibc
> works properly in spite of abusing ASM, perhaps this logic in llvm-
> backend
> also exists to ensure that glibc works?
I have no idea what this is the case or not.
>
>
> Ciao,
>
> Duncan.
More information about the llvm-dev
mailing list