Skip to content
  1. Apr 23, 2013
  2. Apr 22, 2013
  3. Apr 20, 2013
  4. Apr 19, 2013
  5. Apr 16, 2013
  6. Apr 15, 2013
  7. Apr 13, 2013
    • Benjamin Kramer's avatar
      GlobalDCE: Fix an oversight in my last commit that could lead to crashes. · adc1727c
      Benjamin Kramer authored
      There is a Constant with non-constant operands: blockaddress.
      
      llvm-svn: 179460
      adc1727c
    • Benjamin Kramer's avatar
      Fix a scalability issue with complex ConstantExprs. · 89ca4bc6
      Benjamin Kramer authored
      This is basically the same fix in three different places. We use a set to avoid
      walking the whole tree of a big ConstantExprs multiple times.
      
      For example: (select cmp, (add big_expr 1), (add big_expr 2))
      We don't want to visit big_expr twice here, it may consist of thousands of
      nodes.
      
      The testcase exercises this by creating an insanely large ConstantExprs out of
      a loop. It's questionable if the optimizer should ever create those, but this
      can be triggered with real C code. Fixes PR15714.
      
      llvm-svn: 179458
      89ca4bc6
  8. Apr 02, 2013
    • Bill Wendling's avatar
      Use a worklist to avoid a sneaky iterator invalidation. · 88d06c3b
      Bill Wendling authored
      The iterator could be invalidated when it's recursively deleting a whole bunch
      of constant expressions in a constant initializer.
      
      Note: This was only reproducible if `opt' was run on a `.bc' file. If `opt' was
      run on a `.ll' file, it wouldn't crash. This is why the test first pushes the
      `.ll' file through `llvm-as' before feeding it to `opt'.
      
      PR15440
      
      llvm-svn: 178531
      88d06c3b
  9. Mar 21, 2013
  10. Mar 10, 2013
  11. Mar 06, 2013
  12. Mar 04, 2013
  13. Feb 14, 2013
    • Bill Wendling's avatar
      Retain the name of the new internal global that's been shrunk. · 7297b864
      Bill Wendling authored
      It's possible (e.g. after an LTO build) that an internal global may be used for
      debugging purposes. If that's the case appending a '.b' to it makes it hard to
      find that variable. Steal the name from the old GV before deleting it so that
      they can find that variable again.
      
      llvm-svn: 175104
      7297b864
  14. Feb 02, 2013
  15. Jan 31, 2013
  16. Jan 29, 2013
    • Hal Finkel's avatar
      Unroll again after running BBVectorize · bf4db4fe
      Hal Finkel authored
      Because BBVectorize may significantly shorten a loop body, unroll
      again after vectorization. This is especially important when using
      runtime or partial unrolling.
      
      llvm-svn: 173730
      bf4db4fe
  17. Jan 28, 2013
  18. Jan 27, 2013
  19. Jan 26, 2013
    • Bill Wendling's avatar
      Remove some introspection functions. · 57625a49
      Bill Wendling authored
      The 'getSlot' function and its ilk allow introspection into the AttributeSet
      class. However, that class should be opaque. Allow access through accessor
      methods instead.
      
      llvm-svn: 173522
      57625a49
  20. Jan 25, 2013
  21. Jan 23, 2013
  22. Jan 22, 2013
    • Bill Wendling's avatar
      More encapsulation work. · 09175b39
      Bill Wendling authored
      Use the AttributeSet when we're talking about more than one attribute. Add a
      function that adds a single attribute. No functionality change intended.
      
      llvm-svn: 173196
      09175b39
  23. Jan 21, 2013
  24. Jan 18, 2013
Loading