Skip to content
  1. May 29, 2012
  2. May 28, 2012
    • Peter Collingbourne's avatar
      Add llvm.fabs intrinsic. · 913869be
      Peter Collingbourne authored
      llvm-svn: 157594
      913869be
    • Benjamin Kramer's avatar
      Fix suspicous hasOneUse() check, found by PVS Studio (PR12357). · 9d5849f5
      Benjamin Kramer authored
      llvm-svn: 157592
      9d5849f5
    • Benjamin Kramer's avatar
      InstCombine: Fix infinite loop when encountering switch on trivial icmp. · b8743a91
      Benjamin Kramer authored
      The test case feeds the following into InstCombine's visitSelect:
      %tobool8 = icmp ne i32 0, 0
      %phitmp = select i1 %tobool8, i32 3, i32 0
      Then instcombine replaces the right side of the switch with 0, doesn't notice
      that nothing changes and tries again indefinitely.
      
      This fixes PR12897.
      
      llvm-svn: 157587
      b8743a91
    • David Blaikie's avatar
      Remove unused variable. · 1ab17ed5
      David Blaikie authored
      llvm-svn: 157586
      1ab17ed5
    • Meador Inge's avatar
      PR12696: Attribute bits above 1<<30 are not encoded in bitcode · e17b69a3
      Meador Inge authored
      Attribute bits above 1<<30 are now encoded correctly.  Additionally,
      the encoding/decoding functionality has been hoisted to helper functions
      in Attributes.h in an effort to help the encoding/decoding to stay in
      sync with the Attribute bitcode definitions.
      
      llvm-svn: 157581
      e17b69a3
    • Benjamin Kramer's avatar
      Random BitcodeReader cleanups. · 9704ed03
      Benjamin Kramer authored
      llvm-svn: 157577
      9704ed03
    • Stepan Dyatkovskiy's avatar
      PR1255: Case Ranges · e3e19cbb
      Stepan Dyatkovskiy authored
      Implemented IntItem - the wrapper around APInt. Why not to use APInt item directly right now?
      1. It will very difficult to implement case ranges as series of small patches. We got several large and heavy patches. Each patch will about 90-120 kb. If you replace ConstantInt with APInt in SwitchInst you will need to changes at the same time all Readers,Writers and absolutely all passes that uses SwitchInst.
      2. We can implement APInt pool inside and save memory space. E.g. we use several switches that works with 256 bit items (switch on signatures, or strings). We can avoid value duplicates in this case.
      3. IntItem can be easyly easily replaced with APInt.
      4. Currenly we can interpret IntItem both as ConstantInt and as APInt. It allows to provide SwitchInst methods that works with ConstantInt for non-updated passes.
      
      Why I need it right now? Currently I need to update SimplifyCFG pass (EqualityComparisons). I need to work with APInts directly a lot, so peaces of code
      ConstantInt *V = ...;
      if (V->getValue().ugt(AnotherV->getValue()) {
        ...
      }
      will look awful. Much more better this way:
      IntItem V = ConstantIntVal->getValue();
      if (AnotherV < V) {
      }
      
      Of course any reviews are welcome.
      
      P.S.: I'm also going to rename ConstantRangesSet to IntegersSubset, and CRSBuilder to IntegersSubsetMapping (allows to map individual subsets of integers to the BasicBlocks).
      Since in future these classes will founded on APInt, it will possible to use them in more generic ways.
      
      llvm-svn: 157576
      e3e19cbb
    • Bill Wendling's avatar
      Implement the indirect counter increment code in a better way. Instead of · 1560517e
      Bill Wendling authored
      replicating the code for every place it's needed, we instead generate a function
      that does that for us. This function is local to the executable, so there
      shouldn't be any writing violations.
      
      llvm-svn: 157564
      1560517e
    • Chris Lattner's avatar
      3cb6f83e
    • Chris Lattner's avatar
      simplify code. · 5be972d8
      Chris Lattner authored
      llvm-svn: 157555
      5be972d8
    • Benjamin Kramer's avatar
  3. May 27, 2012
  4. May 26, 2012
  5. May 25, 2012
Loading