Skip to content
  1. Nov 09, 2013
    • NAKAMURA Takumi's avatar
      5f847c00
    • NAKAMURA Takumi's avatar
      Fix whitespace. · 866975c2
      NAKAMURA Takumi authored
      llvm-svn: 194313
      866975c2
    • Lang Hames's avatar
      Re-apply r194300 with fixes for warnings. · fb82630a
      Lang Hames authored
      llvm-svn: 194311
      fb82630a
    • Akira Hatanaka's avatar
      [mips] Make sure there is a chain edge dependency between loads that read · d1c58ed8
      Akira Hatanaka authored
      formal arguments on the stack and stores created afterwards. We need this to
      ensure tail call optimized function calls do not write over the argument area
      of the stack before it is read out.
       
      
      llvm-svn: 194309
      d1c58ed8
    • Nick Lewycky's avatar
      Revert r194300 which broke the build. · 59886d00
      Nick Lewycky authored
      llvm-svn: 194308
      59886d00
    • Juergen Ributzka's avatar
      [Stackmap] Materialize the jump address within the patchpoint noop slide. · 87ed906b
      Juergen Ributzka authored
      This patch moves the jump address materialization inside the noop slide. This
      enables patching of the materialization itself or its complete removal. This
      patch also adds the ability to define scratch registers that can be used safely
      by the code called from the patchpoint intrinsic. At least one scratch register
      is required, because that one is used for the materialization of the jump
      address. This patch depends on D2009.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2074
      
      Reviewed by Andy
      
      llvm-svn: 194306
      87ed906b
    • Adrian Prantl's avatar
      Revert "Move copying of global initializers below the cloning of functions." · a473a2ba
      Adrian Prantl authored
      This would cause internal symbols that are only referenced by global initializers to be removed.
      
      This reverts commit 194219.
      
      llvm-svn: 194304
      a473a2ba
    • Adrian Prantl's avatar
      Revert "Run clang-format on file." · c6e97f66
      Adrian Prantl authored
      This reverts commit 194219.
      
      llvm-svn: 194303
      c6e97f66
    • Lang Hames's avatar
      Rewrite the PBQP graph data structure. · 1662b832
      Lang Hames authored
      The new graph structure replaces the node and edge linked lists with vectors.
      Free lists (well, free vectors) are used for fast insertion/deletion.
      
      The ultimate aim is to make PBQP graphs cheap to clone. The motivation is that
      the PBQP solver destructively consumes input graphs while computing a solution,
      forcing the graph to be fully reconstructed for each round of PBQP. This
      imposes a high cost on large functions, which often require several rounds of
      solving/spilling to find a final register allocation. If we can cheaply clone
      the PBQP graph and incrementally update it between rounds then hopefully we can
      reduce this cost. Further, once we begin pooling matrix/vector values (future
      work), we can cache some PBQP solver metadata and share it between cloned
      graphs, allowing the PBQP solver to re-use some of the computation done in
      earlier rounds.
      
      For now this is just a data structure update. The allocator and solver still
      use the graph the same way as before, fully reconstructing it between each
      round. I expect no material change from this update, although it may change
      the iteration order of the nodes, causing ties in the solver to break in
      different directions, and this could perturb the generated allocations
      (hopefully in a completely benign way).
      
      Thanks very much to Arnaud Allard de Grandmaison for encouraging me to get back
      to work on this, and for a lot of discussion and many useful PBQP test cases.
      
      llvm-svn: 194300
      1662b832
    • Juergen Ributzka's avatar
      [Stackmap] Add AnyReg calling convention support for patchpoint intrinsic. · 9969d3e6
      Juergen Ributzka authored
      The idea of the AnyReg Calling Convention is to provide the call arguments in
      registers, but not to force them to be placed in a paticular order into a
      specified set of registers. Instead it is up tp the register allocator to assign
      any register as it sees fit. The same applies to the return value (if
      applicable).
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2009
      
      Reviewed by Andy
      
      llvm-svn: 194293
      9969d3e6
  2. Nov 08, 2013
  3. Nov 07, 2013
  4. Nov 06, 2013
Loading