[LLVMdev] flag_unit_at_a_time and pass scheduling in llvm-gcc
Duncan Sands
baldrick at free.fr
Thu Apr 17 02:26:14 PDT 2008
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?
Ciao,
Duncan.
More information about the llvm-dev
mailing list