Skip to content
  1. Sep 05, 2008
  2. Sep 04, 2008
  3. Sep 03, 2008
  4. Aug 14, 2008
  5. Aug 13, 2008
  6. Aug 07, 2008
  7. Jul 29, 2008
    • Matthijs Kooijman's avatar
      Restructure ArgumentPromotion a bit. Instead of just having a single boolean · fd307045
      Matthijs Kooijman authored
      that says "unconditional loads from this argument are safe", we now keep track
      of the safety per set of indices from which loads happen. This prevents
      ArgPromotion from promoting loads that aren't really valid. As an added effect,
      this will now disregard the the type of the indices passed to a GEP, so
      "load GEP %A, i32 1" and "load GEP %A, i64 1" will result in a single argument,
      not two.
      
      This fixes PR2598, for which a testcase has been added as well.
      
      llvm-svn: 54159
      fd307045
  8. Jul 23, 2008
    • Dan Gohman's avatar
      Enable first-class aggregates support. · fa1211f6
      Dan Gohman authored
      Remove the GetResultInst instruction. It is still accepted in LLVM assembly
      and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
      support for return instructions with multiple values. These are auto-upgraded
      to use InsertValueInst instructions.
      
      The IRBuilder still accepts multiple-value returns, and auto-upgrades them
      to InsertValueInst instructions.
      
      llvm-svn: 53941
      fa1211f6
  9. Jul 17, 2008
  10. Jul 15, 2008
  11. Jul 11, 2008
  12. Jul 10, 2008
    • Matthijs Kooijman's avatar
      Restructure dead argument elimination, try #3 :-) · e0f3ab82
      Matthijs Kooijman authored
      Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of
      dependencies between return values and/or arguments. Also make the handling of
      arguments and return values the same.
      
      The pass now looks properly inside returned structs, but only at the first
      level (ie, not inside nested structs).
      
      This version fixed a few more bugs and was cleaned up a bit. It now passes all
      of LLVM's testing, and should still pass SPEC2006. There is still a minor bug
      with regard to returning nested structs. Since there is currently nothing that
      emits such IR, I will fix that in a seperate commit (partly because it requires
      a non-trivial fix).
      
      llvm-svn: 53400
      e0f3ab82
  13. Jun 25, 2008
Loading