Skip to content
  1. Jun 17, 2009
    • Dan Gohman's avatar
      Update comments to use doxygen syntax. · d8329e83
      Dan Gohman authored
      llvm-svn: 73621
      d8329e83
    • Sanjiv Gupta's avatar
      · 2f2b0a19
      Sanjiv Gupta authored
      >> What if my global variable was into a different address space than stack?
      >>     
      >
      > It doesn't matter in terms of semantics: because AnalyzeGlobal
      > returned false, we're guaranteed the address of the global is never
      > taken.  I wouldn't be surprised if we end up generating invalid IR in
      > some cases, though, because of the semantics of replaceAllUsesWith.
      > Do you have a testcase that breaks?
      >
      >   
      The problem is replaceAllUsesWith asserts for type mismatch here. Try attached .bc with llvm-ld.
      
      assert(New->getType() == getType() &&
              "replaceAllUses of value with new value of different type!");
      
      Since stack is always on address space zero, I don't think that type of GV in a different address space is ever going to match.
      The other way is to allow replaceAllUsesWith to ignore address spaces while comparing types. (do we have  a way to do that ?).
      But then such an optimization may fail the entire idea of user wanting to place a variable into different memory space. The original idea of user might be to save on the stack space (data memory) and hence he asked the variable to be placed into different memory space (program memory). So the best bet here is to deny this optimization by checking
      
      GV->getType()->getAddressSpace() == 0. 
      
      llvm-svn: 73605
      2f2b0a19
    • Eli Friedman's avatar
      PR3439: Correct a silly mistake in the SimplifyDemandedUseBits code for · a0fba531
      Eli Friedman authored
      SRem.
      
      llvm-svn: 73598
      a0fba531
  2. Jun 16, 2009
  3. Jun 15, 2009
  4. Jun 14, 2009
  5. Jun 13, 2009
    • Nick Lewycky's avatar
      Unlike the other instructions, GEP really does need to look at the type of a · 47b71c58
      Nick Lewycky authored
      pointer. This fixes kimwitu++. Pointed out by Frits van Bommel on review!
      
      llvm-svn: 73299
      47b71c58
    • Dan Gohman's avatar
      Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical · 426901aa
      Dan Gohman authored
      induction variable when the addrec to be expanded does not require
      a wider type. This eliminates the need for IndVarSimplify to
      micro-manage SCEV expansions, because SCEVExpander now
      automatically expands them in the form that IndVarSimplify considers
      to be canonical. (LSR still micro-manages its SCEV expansions,
      because it's optimizing for the target, rather than for
      other optimizations.)
      
      Also, this uses the new getAnyExtendExpr, which has more clever
      expression simplification logic than the IndVarSimplify code it
      replaces, and this cleans up some ugly expansions in code such as
      the included masked-iv.ll testcase.
      
      llvm-svn: 73294
      426901aa
  6. Jun 12, 2009
  7. Jun 11, 2009
  8. Jun 10, 2009
  9. Jun 09, 2009
  10. Jun 07, 2009
  11. Jun 06, 2009
  12. Jun 05, 2009
  13. Jun 04, 2009
  14. Jun 03, 2009
  15. Jun 02, 2009
  16. Jun 01, 2009
  17. May 31, 2009
  18. May 30, 2009
Loading