[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