Skip to content
  1. Dec 12, 2013
    • Hal Finkel's avatar
      Remove unused multiclass from PPCInstrInfo.td · fa50630e
      Hal Finkel authored
      llvm-svn: 197100
      fa50630e
    • Hal Finkel's avatar
      Improve instruction scheduling for the PPC POWER7 · ceb1f12d
      Hal Finkel authored
      Aside from a few minor latency corrections, the major change here is a new
      hazard recognizer which focuses on better dispatch-group formation on the
      POWER7. As with the PPC970's hazard recognizer, the most important thing it
      does is avoid load-after-store hazards within the same dispatch group. It uses
      the POWER7's special dispatch-group-terminating nop instruction (instead of
      inserting multiple regular nop instructions). This new hazard recognizer makes
      use of the scheduling dependency graph itself, built using AA information, to
      robustly detect the possibility of load-after-store hazards.
      
      significant test-suite performance changes (the error bars are 99.5% confidence
      intervals based on 5 test-suite runs both with and without the change --
      speedups are negative):
      
      speedups:
      
      MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2
      	-0.55171% +/- 0.333168%
      
      MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl
      	-17.5576% +/- 14.598%
      
      MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl
      	-29.5708% +/- 7.09058%
      
      MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt
      	-34.9471% +/- 11.4391%
      
      SingleSource/Benchmarks/BenchmarkGame/puzzle
      	-25.1347% +/- 11.0104%
      
      SingleSource/Benchmarks/Misc/flops-8
      	-17.7297% +/- 9.79061%
      
      SingleSource/Benchmarks/Shootout-C++/ary3
      	-35.5018% +/- 23.9458%
      
      SingleSource/Regression/C/uint64_to_float
      	-56.3165% +/- 25.4234%
      
      SingleSource/UnitTests/Vectorizer/gcc-loops
      	-18.5309% +/- 6.8496%
      
      regressions:
      
      MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000
      	18.351% +/- 12.156%
      
      SingleSource/Benchmarks/Shootout-C++/methcall
      	27.3086% +/- 14.4733%
      
      llvm-svn: 197099
      ceb1f12d
    • Hal Finkel's avatar
      Add isBarrier to SDep · 03071ab7
      Hal Finkel authored
      SDep had is* functions for the other kinds of order dependencies (isMustAlias,
      isWeak, isArtificial, etc.), but not for barrier. Upcoming commits in the
      PowerPC backend will make use of this function.
      
      llvm-svn: 197098
      03071ab7
    • Quentin Colombet's avatar
      Fix an over-constrained assertion in MachineFunction::addLiveIn. · 18b779e3
      Quentin Colombet authored
      The assertion was checking that the virtual register VReg used to represent the
      physical register PReg uses the same register class as the one passed to
      MachineFunction::addLiveIn.
      This is over-constraining because it is sufficient to check that the register
      class of VReg (VRegRC) is a subclass of the register class of PReg (PRegRC) and
      that VRegRC contains PReg.
      Indeed, if VReg gets constrained because of some operation constraints
      between two calls of MachineFunction::addLiveIn, the original assertion
      cannot match.
      
      This fixes <rdar://problem/15633429>. 
      
      llvm-svn: 197097
      18b779e3
    • Hans Wennborg's avatar
      Expose FileCheck's AddFixedStringToRegEx as Regex::escape · 6f4f77b7
      Hans Wennborg authored
      Both FileCheck and clang's -verify need to escape strings for regexes,
      so let's expose this as a utility in the Regex class.
      
      llvm-svn: 197096
      6f4f77b7
    • Chad Rosier's avatar
      [AArch64] Refactor NEON floating-point Max/Min/Maxnm/Minnm across vector AArch64 · 446d8ea0
      Chad Rosier authored
      intrinsics to use f32 types, rather than their vector equivalents.
      
      llvm-svn: 197090
      446d8ea0
    • Hal Finkel's avatar
      Fix the PPC subsumes-predicate check · 94a6f380
      Hal Finkel authored
      For one predicate to subsume another, they must both check the same condition
      register. Failure to check this prerequisite was causing miscompiles.
      
      Fixes PR18003.
      
      llvm-svn: 197089
      94a6f380
  2. Dec 11, 2013
  3. Dec 10, 2013
Loading