Skip to content
  1. Apr 16, 2013
  2. Apr 15, 2013
  3. 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
  4. 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
  5. Mar 21, 2013
  6. Mar 10, 2013
  7. Mar 06, 2013
  8. Mar 04, 2013
  9. 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
  10. Feb 02, 2013
  11. Jan 31, 2013
  12. 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
  13. Jan 28, 2013
  14. Jan 27, 2013
  15. 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
  16. Jan 25, 2013
  17. Jan 23, 2013
  18. 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
  19. Jan 21, 2013
  20. Jan 18, 2013
  21. Jan 13, 2013
  22. Jan 12, 2013
  23. Jan 11, 2013
    • Michael Gottesman's avatar
      Added debug messages to GlobalOpt. · d1a46f23
      Michael Gottesman authored
      Specifically:
      1. Added a missing new line when we emit a debug message saying that we are marking a global variable as constant.
      2. Added debug messages that describe what is occuring when GlobalOpt is evaluating a block/function.
      3. Added a debug message that says what specific constructor is being evaluated.
      
      llvm-svn: 172247
      d1a46f23
  24. Jan 10, 2013
Loading