Skip to content
  1. Mar 31, 2010
    • Dale Johannesen's avatar
      Fix a nasty dangling-pointer heisenbug that could · b67a6e66
      Dale Johannesen authored
      generate wrong code pretty much anywhere AFAICT.
      A case that hits the bug reproducibly is impossible,
      but the situation was like this:
      Addr = ...
      Store -> Addr
      Addr2 = GEP , 0, 0
      Store -> Addr2
      Handling the first store, the code changed replaced Addr
      with a sunkaddr and deleted Addr, but not its table
      entry.  Code in OptimizedBlock replaced Addr2 with a
      bitcast; if that happened to reuse the memory of Addr,
      the old table entry was erroneously found when handling
      the second store.
      
      llvm-svn: 100044
      b67a6e66
    • Bob Wilson's avatar
      6f7fd288
  2. Mar 30, 2010
  3. Mar 27, 2010
  4. Mar 26, 2010
  5. Mar 25, 2010
  6. Mar 24, 2010
  7. Mar 23, 2010
  8. Mar 22, 2010
  9. Mar 20, 2010
    • Gabor Greif's avatar
      Add a setCalledFunction member to InvokeInst (like in CallInst) · febf6ab7
      Gabor Greif authored
      and use this (as well as getCalledValue) to access the callee,
      instead of {g|s}etOperand(0).
      
      llvm-svn: 99084
      febf6ab7
    • Dan Gohman's avatar
      Clear the SCEVExpander's insertion point after making deletions, · 1a2abe55
      Dan Gohman authored
      so that the SCEVExpander doesn't retain a dangling pointer as its
      insert position. The dangling pointer in this case wasn't ever used
      to insert new instructions, but it was causing trouble with
      SCEVExpander's code for automatically advancing its insert position
      past debug intrinsics.
      
      This fixes use-after-free errors that valgrind noticed in
      test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and
      test/Transforms/IndVarSimplify/exit_value_tests.ll.
      
      llvm-svn: 99036
      1a2abe55
  10. Mar 19, 2010
  11. Mar 16, 2010
  12. Mar 15, 2010
  13. Mar 14, 2010
  14. Mar 12, 2010
Loading