Skip to content
  1. Jun 22, 2012
    • Duncan Sands's avatar
      Revert commit 158979 (dyatkovskiy) since it is causing several buildbots to · 83884a10
      Duncan Sands authored
      fail.  Original commit message:
      
      Performance optimizations:
      - SwitchInst: case values stored separately from Operands List. It allows to make faster access to individual case value numbers or ranges.
      - Optimized IntItem, added APInt value caching.
      - Optimized IntegersSubsetGeneric: added optimizations for cases when subset is single number or when subset consists from single numbers only.
      
      On my machine these optimizations gave about 4-6% of compile-time improvement.
      
      llvm-svn: 158986
      83884a10
    • Stepan Dyatkovskiy's avatar
      Performance optimizations: · fcfa633b
      Stepan Dyatkovskiy authored
      - SwitchInst: case values stored separately from Operands List. It allows to make faster access to individual case value numbers or ranges.
      - Optimized IntItem, added APInt value caching.
      - Optimized IntegersSubsetGeneric: added optimizations for cases when subset is single number or when subset consists from single numbers only.
      
      On my machine these optimizations gave about 4-6% of compile-time improvement.
      
      llvm-svn: 158979
      fcfa633b
    • Andrew Trick's avatar
      Use "NoItineraries" for processors with no itineraries. · 9c302673
      Andrew Trick authored
      This makes it explicit when ScoreboardHazardRecognizer will be used.
      "GenericItineraries" would only make sense if it contained real
      itinerary values and still required ScoreboardHazardRecognizer.
      
      llvm-svn: 158963
      9c302673
    • Jakob Stoklund Olesen's avatar
      Functions calling __builtin_eh_return must have a frame pointer. · 321d41a8
      Jakob Stoklund Olesen authored
      The code in X86TargetLowering::LowerEH_RETURN() assumes that a frame
      pointer exists, but the frame pointer was forced by the presence of
      llvm.eh.unwind.init which isn't guaranteed.
      
      If llvm.eh.unwind.init is actually required in functions calling
      eh.return (is it?), we should diagnose that instead of emitting bad
      machine code.
      
      This should fix the dragonegg-x86_64-linux-gcc-4.6-test bot.
      
      llvm-svn: 158961
      321d41a8
    • Andrew Trick's avatar
      ARM scheduling fix: don't guess at implicit operand latency. · 77d0b889
      Andrew Trick authored
      This is a minor drive-by fix with no robust way to unit test.
      As an example see neon-div.ll:
      SU(16):   %Q8<def> = VMOVLsv4i32 %D17, pred:14, pred:%noreg, %Q8<imp-use,kill>
       val SU(1): Latency=2 Reg=%Q8
      ...should be latency=1
      
      llvm-svn: 158960
      77d0b889
    • Andrew Trick's avatar
      ARM scheduling fix: compute predicated implicit use properly. · 3ccb1b8c
      Andrew Trick authored
      Minor drive by fix to cleanup latency computation. Calling
      getOperandLatency with a deliberately incorrect operand index does not
      give you the latency you want.
      
      llvm-svn: 158959
      3ccb1b8c
    • Nick Lewycky's avatar
      Emit relocations for DW_AT_location entries on systems which need it. This is · 33da3367
      Nick Lewycky authored
      a recommit of r127757. Fixes PR9493. Patch by Paul Robinson!
      
      llvm-svn: 158957
      33da3367
    • Lang Hames's avatar
      Rename -allow-excess-fp-precision flag to -fuse-fp-ops, and switch from a · b8650f10
      Lang Hames authored
      boolean flag to an enum: { Fast, Standard, Strict } (default = Standard).
      
      This option controls the creation by optimizations of fused FP ops that store
      intermediate results in higher precision than IEEE allows (E.g. FMAs). The
      behavior of this option is intended to match the behaviour specified by a
      soon-to-be-introduced frontend flag: '-ffuse-fp-ops'.
      
      Fast mode - allows formation of fused FP ops whenever they're profitable.
      
      Standard mode - allow fusion only for 'blessed' FP ops. At present the only
      blessed op is the fmuladd intrinsic. In the future more blessed ops may be
      added.
      
      Strict mode - allow fusion only if/when it can be proven that the excess
      precision won't effect the result.
      
      Note: This option only controls formation of fused ops by the optimizers.  Fused
      operations that are explicitly requested (e.g. FMA via the llvm.fma.* intrinsic)
      will always be honored, regardless of the value of this option.
      
      Internally TargetOptions::AllowExcessFPPrecision has been replaced by
      TargetOptions::AllowFPOpFusion.
      
      llvm-svn: 158956
      b8650f10
    • Hal Finkel's avatar
      Convert the PPC backend to use the new FMA infrastructure. · 0a479ae7
      Hal Finkel authored
      The existing contraction patterns are replaced with fma/fneg.
      Overall functionality should be the same.
      
      llvm-svn: 158955
      0a479ae7
    • Nuno Lopes's avatar
      fix whitespace in my last commit. · 0b60ebbf
      Nuno Lopes authored
      sorry for the churn :S  enough for today; going to sleep.
      
      llvm-svn: 158953
      0b60ebbf
    • Nuno Lopes's avatar
      remove extractMallocCallFromBitCast, since it was tailor maded for its sole... · 9792d683
      Nuno Lopes authored
      remove extractMallocCallFromBitCast, since it was tailor maded for its sole user. Update GlobalOpt accordingly.
      
      llvm-svn: 158952
      9792d683
    • Nuno Lopes's avatar
      instcombine: disable optimization of 'invoke null/undef'. I'll move this... · 771e7bd4
      Nuno Lopes authored
      instcombine:  disable optimization of 'invoke null/undef'. I'll move this functionality to SimplifyCFG (since we cannot make changes to the CFG here).
      Fixes the crashes with the attached test case
      
      llvm-svn: 158951
      771e7bd4
    • Evan Cheng's avatar
  2. Jun 21, 2012
  3. Jun 20, 2012
Loading