[PATCH] ScheduleDAGInstrs::buildSchedGraph() rewritten.

Jonas Paulsson jonas.paulsson at ericsson.com
Mon Mar 30 10:21:25 PDT 2015


Hi hfinkel, atrick,

Some minor improvements to the proposed patch:

SUList uses std::list<> with composition instead of derivation. Std::list<> is still the best data structure I have tried, but I have not tried to implement a singly linked list with a memory pool, which is what is needed.

Huge regions are now reduced in fifo order always. That is, when some SUnits are dropped from maps, it is always the SUnits with highest NodeNums (lowest in instruction list) that are removed and put under a new barrier chain.

To dump the contents of a Value2SusMap, the PseudoSourceValue class got a new friend in the operator<<() function for this purpose. This is because the printCustom() method is private.

Note: There is no need to check isIdentifiedObject() in isUnsafeMemoryObject(), as in that case the underlying objects vector is cleared, and the SU is treated as unknown store / load.

http://reviews.llvm.org/D8705

Files:
  include/llvm/CodeGen/PseudoSourceValue.h
  include/llvm/CodeGen/ScheduleDAG.h
  include/llvm/CodeGen/ScheduleDAGInstrs.h
  lib/CodeGen/ScheduleDAGInstrs.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8705.22892.patch
Type: text/x-patch
Size: 39256 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150330/47496f62/attachment.bin>


More information about the llvm-commits mailing list