OSDN Git Service

Avoid creating chain dependencies from CopyToReg nodes to load and store
authorDan Gohman <gohman@apple.com>
Thu, 27 Mar 2008 19:56:19 +0000 (19:56 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 27 Mar 2008 19:56:19 +0000 (19:56 +0000)
commit86e1ebf9bbde7408a1d7859ea207981457e11cc2
tree0627a0d822583310953461d39a0f4c1fb017a2a0
parent4a3c0ac7980be53eb6e5f85c394895ad945fc68e
Avoid creating chain dependencies from CopyToReg nodes to load and store
nodes. This doesn't currently have much impact the generated code, but it
does produce simpler-looking SelectionDAGs, and consequently
simpler-looking ScheduleDAGs, because there are fewer spurious
dependencies.

In particular, CopyValueToVirtualRegister now uses the entry node as the
input chain dependency for new CopyToReg nodes instead of calling getRoot
and depending on the most recent memory reference.

Also, rename UnorderedChains to PendingExports and pull it up from being
a local variable in SelectionDAGISel::BuildSelectionDAG to being a
member variable of SelectionDAGISel, so that it doesn't have to be
passed around to all the places that need it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48893 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAGISel.h
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp