Skip to content
  1. Jun 14, 2009
  2. 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
    • Sanjiv Gupta's avatar
      · c16c9470
      Sanjiv Gupta authored
      The subprogram descriptor for a function may be missing (llvm-ld linking two static functions with same name), so pick up the compilation unit for the function from the first valid debug loc of its instructions.
      This patch also emits debug info for structure (aggregate types in 
      general) types.
      
      llvm-svn: 73295
      c16c9470
    • 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
    • Dan Gohman's avatar
      Add a ScalarEvolution::getAnyExtendExpr utility function for performing · 8db2edcf
      Dan Gohman authored
      extension with unspecified bits.
      
      llvm-svn: 73293
      8db2edcf
    • Evan Cheng's avatar
      Add a ARM specific pre-allocation pass that re-schedule loads / stores from · 185c9ef0
      Evan Cheng authored
      consecutive addresses togther. This makes it easier for the post-allocation pass
      to form ldm / stm.
      
      This is step 1. We are still missing a lot of ldm / stm opportunities because
      of register allocation are not done in the desired order. More enhancements
      coming.
      
      llvm-svn: 73291
      185c9ef0
    • Devang Patel's avatar
      llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in... · 64e6529e
      Devang Patel authored
      llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function.  If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available.  LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics. 
      Apply defensive patch to preserve at least one lexical scope till the end of function.
      
      llvm-svn: 73282
      64e6529e
    • Owen Anderson's avatar
      Improve style. · c59a7cb8
      Owen Anderson authored
      llvm-svn: 73258
      c59a7cb8
  3. Jun 12, 2009
  4. Jun 11, 2009
  5. Jun 10, 2009
  6. Jun 09, 2009
Loading