[llvm] r190919 - Fix X86 subtarget to not overwrite the autodetected features by calling InitMCProcessorInfo right after detecting them. Instead add a new function that only updates the scheduling model and call that.

Craig Topper craig.topper at gmail.com
Mon Sep 30 13:09:36 PDT 2013


How do you test autodetected features given that it would be on a different
processor based on the buildbot pool?


On Mon, Sep 30, 2013 at 12:21 PM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> testcase?
>
> On 18 September 2013 01:54, Craig Topper <craig.topper at gmail.com> wrote:
> > Author: ctopper
> > Date: Wed Sep 18 00:54:09 2013
> > New Revision: 190919
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=190919&view=rev
> > Log:
> > Fix X86 subtarget to not overwrite the autodetected features by calling
> InitMCProcessorInfo right after detecting them. Instead add a new function
> that only updates the scheduling model and call that.
> >
> > Modified:
> >     llvm/trunk/include/llvm/MC/MCSubtargetInfo.h
> >     llvm/trunk/lib/MC/MCSubtargetInfo.cpp
> >     llvm/trunk/lib/Target/X86/X86Subtarget.cpp
> >
> > Modified: llvm/trunk/include/llvm/MC/MCSubtargetInfo.h
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCSubtargetInfo.h?rev=190919&r1=190918&r2=190919&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/include/llvm/MC/MCSubtargetInfo.h (original)
> > +++ llvm/trunk/include/llvm/MC/MCSubtargetInfo.h Wed Sep 18 00:54:09 2013
> > @@ -72,6 +72,9 @@ public:
> >    /// feature string). Recompute feature bits and scheduling model.
> >    void InitMCProcessorInfo(StringRef CPU, StringRef FS);
> >
> > +  /// InitCPUSchedModel - Recompute scheduling model based on CPU.
> > +  void InitCPUSchedModel(StringRef CPU);
> > +
> >    /// ToggleFeature - Toggle a feature and returns the re-computed
> feature
> >    /// bits. This version does not change the implied bits.
> >    uint64_t ToggleFeature(uint64_t FB);
> >
> > Modified: llvm/trunk/lib/MC/MCSubtargetInfo.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSubtargetInfo.cpp?rev=190919&r1=190918&r2=190919&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/MC/MCSubtargetInfo.cpp (original)
> > +++ llvm/trunk/lib/MC/MCSubtargetInfo.cpp Wed Sep 18 00:54:09 2013
> > @@ -27,6 +27,11 @@ MCSubtargetInfo::InitMCProcessorInfo(Str
> >    FeatureBits = Features.getFeatureBits(CPU, ProcDesc, NumProcs,
> >                                          ProcFeatures, NumFeatures);
> >
> > +  InitCPUSchedModel(CPU);
> > +}
> > +
> > +void
> > +MCSubtargetInfo::InitCPUSchedModel(StringRef CPU) {
> >    if (!CPU.empty())
> >      CPUSchedModel = getSchedModelForCPU(CPU);
> >    else
> >
> > Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=190919&r1=190918&r2=190919&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
> > +++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Wed Sep 18 00:54:09 2013
> > @@ -453,7 +453,7 @@ void X86Subtarget::resetSubtargetFeature
> >
> >    // CPUName may have been set by the CPU detection code. Make sure the
> >    // new MCSchedModel is used.
> > -  InitMCProcessorInfo(CPUName, FS);
> > +  InitCPUSchedModel(CPUName);
> >
> >    if (X86ProcFamily == IntelAtom || X86ProcFamily == IntelSLM)
> >      PostRAScheduler = true;
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130930/47584d2a/attachment.html>


More information about the llvm-commits mailing list