Skip to content
  1. Aug 22, 2009
  2. Aug 18, 2009
    • Dan Gohman's avatar
      Make tail merging handle blocks with repeated predecessors correctly, and · a41fa359
      Dan Gohman authored
      remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
      it breaks assumptions made in
      MachineBasicBlock::isOnlyReachableByFallthrough.
      
      Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
      for PR4732.
      
      test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
      it being bugpoint-reduced to the point where it doesn't matter what the
      condition for the branch is.
      
      Add some more interesting code to
      test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
      that originally motivated the RemoveDuplicateSuccessor code, to help
      verify that the original problem isn't being re-broken.
      
      llvm-svn: 79338
      a41fa359
  3. Aug 07, 2009
  4. Jul 14, 2009
  5. Jul 11, 2009
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  6. May 11, 2009
  7. Feb 09, 2009
  8. Jan 28, 2009
  9. Jan 08, 2009
  10. Dec 11, 2008
  11. Dec 03, 2008
  12. Oct 27, 2008
  13. Oct 03, 2008
  14. Sep 22, 2008
  15. Sep 13, 2008
    • Dan Gohman's avatar
      Remove isImm(), isReg(), and friends, in favor of · 38453eeb
      Dan Gohman authored
      isImmediate(), isRegister(), and friends, to avoid confusion
      about having two different names with the same meaning. I'm
      not attached to the longer names, and would be ok with
      changing to the shorter names if others prefer it.
      
      llvm-svn: 56189
      38453eeb
  16. Sep 04, 2008
  17. Aug 22, 2008
  18. Aug 15, 2008
  19. Jul 29, 2008
  20. Jul 08, 2008
    • Dan Gohman's avatar
      Pool-allocation for MachineInstrs, MachineBasicBlocks, and · 3b460303
      Dan Gohman authored
      MachineMemOperands. The pools are owned by MachineFunctions.
      
      This drastically reduces the number of calls to malloc/free made
      during the "Emit" phase of scheduling, as well as later phases
      in CodeGen. Combined with other changes, this speeds up the
      "instruction selection" phase of CodeGen by 10% in some cases.
      
      llvm-svn: 53212
      3b460303
  21. Jul 01, 2008
    • Dale Johannesen's avatar
      Fix longstanding thinko: don't exclude · ad6b3a6e
      Dale Johannesen authored
      predessors of exit blocks from tail merging
      consideration.
      
      llvm-svn: 52985
      ad6b3a6e
    • Dan Gohman's avatar
      Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating · fb19f940
      Dan Gohman authored
      the need for a flavor operand, and add a new SDNode subclass,
      LabelSDNode, for use with them to eliminate the need for a label id
      operand.
      
      Change instruction selection to let these label nodes through
      unmodified instead of creating copies of them. Teach the MachineInstr
      emitter how to emit a MachineInstr directly from an ISD label node.
      
      This avoids the need for allocating SDNodes for the label id and
      flavor value, as well as SDNodes for each of the post-isel label,
      label id, and label flavor.
      
      llvm-svn: 52943
      fb19f940
  22. Jun 19, 2008
  23. May 23, 2008
  24. May 13, 2008
  25. May 12, 2008
  26. May 10, 2008
  27. May 09, 2008
  28. May 06, 2008
  29. Apr 10, 2008
    • Evan Cheng's avatar
      Teach branch folding pass about implicit_def instructions. Unfortunately we... · 9d339849
      Evan Cheng authored
      Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses.  Carefully removing some implicit def's which enable more blocks to be optimized away.
      
      llvm-svn: 49461
      9d339849
  30. Feb 28, 2008
  31. Feb 19, 2008
  32. Feb 10, 2008
  33. Jan 29, 2008
  34. Jan 07, 2008
  35. Jan 06, 2008
Loading