[llvm] r231324 - Remove the conditional addition of the execution dependency fixing

Hal Finkel hfinkel at anl.gov
Thu Mar 5 06:40:09 PST 2015


----- Original Message -----
> From: "Owen Anderson" <resistor at mac.com>
> To: "Eric Christopher" <echristo at gmail.com>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Thursday, March 5, 2015 2:35:12 AM
> Subject: Re: [llvm] r231324 - Remove the conditional addition of the execution	dependency fixing
> 
> So, I’m not sure I like the direction these changes are going.  For
> low-latency compilation use cases, every additional pass scheduled
> incurs non-trivial extra compilation time costs.

My understanding is that the new pass manager is supposed to address exactly this issue, making this much cheaper. Chandler, is that right?

 -Hal

>  My uses, which fit
> that scenario, are specifically tuned *not* to schedule passes that
> are not needed for specific subtargets, even when they would be
> no-ops, and it would a significant regression compile-time
> regression for us to lose that capability.
> 
> —Owen
> 
> > On Mar 4, 2015, at 4:28 PM, Eric Christopher <echristo at gmail.com>
> > wrote:
> > 
> > Author: echristo
> > Date: Wed Mar  4 18:28:55 2015
> > New Revision: 231324
> > 
> > URL: http://llvm.org/viewvc/llvm-project?rev=231324&view=rev
> > Log:
> > Remove the conditional addition of the execution dependency fixing
> > pass from the ARM backend as the pass itself will detect any use
> > of the appropriate register class.
> > 
> > Modified:
> >    llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp
> > 
> > Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp
> > URL:
> > http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=231324&r1=231323&r2=231324&view=diff
> > ==============================================================================
> > --- llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp (original)
> > +++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp Wed Mar  4
> > 18:28:55 2015
> > @@ -358,9 +358,7 @@ void ARMPassConfig::addPreRegAlloc() {
> > void ARMPassConfig::addPreSched2() {
> >   if (getOptLevel() != CodeGenOpt::None) {
> >     addPass(createARMLoadStoreOptimizationPass());
> > -
> > -    if (getARMSubtarget().hasNEON())
> > -
> >      addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass));
> > +    addPass(createExecutionDependencyFixPass(&ARM::DPRRegClass));
> >   }
> > 
> >   // Expand some pseudo instructions into multiple instructions to
> >   allow
> > 
> > 
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list