[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