Skip to content
  1. Jul 10, 2012
    • Chandler Carruth's avatar
      Add an efficient merge operation to LiveInterval and use it to avoid · e18614dd
      Chandler Carruth authored
      quadratic behavior when performing pathological merges. Fixes the core
      element of PR12652.
      
      There is only one user of addRangeFrom left: join. I'm hoping to
      refactor further in a future patch and have join use this merge
      operation as well.
      
      llvm-svn: 159982
      e18614dd
    • Chandler Carruth's avatar
      Teach LiveIntervals how to verify themselves and start using it in some · ac766b9b
      Chandler Carruth authored
      of the trick merge routines. This adds a layer of testing that was
      necessary when implementing more efficient (and complex) merge logic for
      this datastructure.
      
      No functionality changed here.
      
      llvm-svn: 159981
      ac766b9b
    • Jim Grosbach's avatar
      ARM: Allow more flexible patterns in NEON formats. · 16b43dbb
      Jim Grosbach authored
      Some NEON instructions want to match against normal SDNodes for some
      operand types and Intrinsics for others. For example, CTLZ. To enable this,
      switch from explicitly requiring Intrinsic on the class templates to using
      SDPatternOperator instead.
      
      llvm-svn: 159974
      16b43dbb
    • Jim Grosbach's avatar
      Allow intrinsics to be used in place of node matchables. · 70006820
      Jim Grosbach authored
      TableGen has support for using an intrinics name directly in a DAG,
      but this breaks down when referring to just a node, as that's
      handled initializer list stuff entirely via subclassing in the
      parser. That is, using an instrinsic like "(int_my_intrinsic ...)"
      works fine. Using it standalone for parameterizing the operator
      in such a DAG does not.
      
      Fixing this is simple enough, as we simply declare Intrinsic
      as deriving from SDPatternOperator, which is the class name
      intended for exactly this purpose in TargetSelectionDAG.td.
      
      When the intrinsic is actually used in the DAG pattern, it will
      be recognized and expanded to an intrinsic_wo_chain (et. al.)
      just like when it's used directly.
      
      Incoming ARM NEON cleanup based on this and a bit of functionality
      improvement after that.
      
      llvm-svn: 159973
      70006820
    • Akira Hatanaka's avatar
      Make register Mips::RA allocatable if not in mips16 mode. · efff7b76
      Akira Hatanaka authored
      llvm-svn: 159971
      efff7b76
    • Dan Gohman's avatar
      Delete code for folding undefs in ScalarEvolution. It's invalid in · 3d151238
      Dan Gohman authored
      obscure ways, and it isn't actually important in the real world.
      
      llvm-svn: 159969
      3d151238
  2. Jul 09, 2012
  3. Jul 08, 2012
  4. Jul 07, 2012
  5. Jul 06, 2012
Loading