diff options
author | Dan Gohman <gohman@apple.com> | 2008-03-27 19:56:19 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-03-27 19:56:19 +0000 |
commit | 9fe5bd631213c33d670cb9648f42f994bfb011a8 (patch) | |
tree | 0627a0d822583310953461d39a0f4c1fb017a2a0 /include | |
parent | 2de76d2b0348e502a7af09d4e88909a967afc7dd (diff) | |
download | external_llvm-9fe5bd631213c33d670cb9648f42f994bfb011a8.zip external_llvm-9fe5bd631213c33d670cb9648f42f994bfb011a8.tar.gz external_llvm-9fe5bd631213c33d670cb9648f42f994bfb011a8.tar.bz2 |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGISel.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGISel.h b/include/llvm/CodeGen/SelectionDAGISel.h index 82542d1..f981687 100644 --- a/include/llvm/CodeGen/SelectionDAGISel.h +++ b/include/llvm/CodeGen/SelectionDAGISel.h @@ -182,8 +182,7 @@ private: std::vector<std::pair<MachineInstr*, unsigned> > &PHINodesToUpdate, FunctionLoweringInfo &FuncInfo); void CodeGenAndEmitDAG(SelectionDAG &DAG); - void LowerArguments(BasicBlock *BB, SelectionDAGLowering &SDL, - std::vector<SDOperand> &UnorderedChains); + void LowerArguments(BasicBlock *BB, SelectionDAGLowering &SDL); /// SwitchCases - Vector of CaseBlock structures used to communicate /// SwitchInst code generation information. |