Skip to content
  1. Jan 25, 2013
  2. Jan 24, 2013
    • Michael Gottesman's avatar
      Added comment to ObjCARC elaborating what is meant by the term 'Provenance' in... · 12780c2d
      Michael Gottesman authored
      Added comment to ObjCARC elaborating what is meant by the term 'Provenance' in 'Provenance Analysis'.
      
      llvm-svn: 173374
      12780c2d
    • Hal Finkel's avatar
      Start cleanup of PPC register definitions using foreach loops. · 41176f43
      Hal Finkel authored
      No functionality change intended.
      
      This captures the first two cases GPR32/64. For the others, we need
      an addition operator (if we have one, I've not yet found it).
      
      Based on a suggestion made by Tom Stellard in the AArch64 review!
      
      llvm-svn: 173366
      41176f43
    • Benjamin Kramer's avatar
      Reapply chandlerc's r173342 now that the miscompile it was triggering is fixed. · 1c4e323f
      Benjamin Kramer authored
      Original commit message:
      Plug TTI into the speculation logic, giving it a real cost interface
      that can be specialized by targets.
      
      The goal here is not to be more aggressive, but to just be more accurate
      with very obvious cases. There are instructions which are known to be
      truly free and which were not being modeled as such in this code -- see
      the regression test which is distilled from an inner loop of zlib.
      
      Everywhere the TTI cost model is insufficiently conservative I've added
      explicit checks with FIXME comments to go add proper modelling of these
      cost factors.
      
      If this causes regressions, the likely solution is to make TTI even more
      conservative in its cost estimates, but test cases will help here.
      
      llvm-svn: 173357
      1c4e323f
    • Benjamin Kramer's avatar
      ConstantFolding: Add a missing folding that leads to a miscompile. · 435eba09
      Benjamin Kramer authored
      We use constant folding to see if an intrinsic evaluates to the same value as a
      constant that we know. If we don't take the undefinedness into account we get a
      value that doesn't match the actual implementation, and miscompiled code.
      
      This was uncovered by Chandler's simplifycfg changes.
      
      llvm-svn: 173356
      435eba09
Loading