Skip to content
  1. Jun 18, 2009
  2. Jun 17, 2009
    • Dale Johannesen's avatar
      This fixes a bug introduced in 72661, which can · 81b6463e
      Dale Johannesen authored
      move loads back past a check that the load address
      is valid, see new testcase.  The test that went
      in with 72661 has exactly this case, except that
      the conditional it's moving past is checking
      something else; I've settled for changing that
      test to reference a global, not a pointer.  It
      may be possible to scan all the tests you pass and
      make sure none of them are checking any component
      of the address, but it's not trivial and I'm not
      trying to do that here.
      
      llvm-svn: 73632
      81b6463e
    • Torok Edwin's avatar
      Add debug message about non-local loads being clobbered. · ba93ea76
      Torok Edwin authored
      llvm-svn: 73625
      ba93ea76
    • 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
  3. Jun 16, 2009
  4. Jun 15, 2009
  5. Jun 14, 2009
  6. 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
  7. Jun 12, 2009
  8. Jun 11, 2009
  9. Jun 10, 2009
  10. Jun 09, 2009
  11. Jun 07, 2009
  12. Jun 06, 2009
  13. Jun 05, 2009
  14. Jun 04, 2009
Loading