diff options
| author | Matthias Braun <matze@braunis.de> | 2016-05-10 20:11:58 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2016-05-10 20:11:58 +0000 |
| commit | 8a5b46737a5991056998ddbc6d9915e7e21b63c5 (patch) | |
| tree | 759cadea9dd4035411551aa09a722b7876a4c507 | |
| parent | 02d455768ec30bbb0d48ad331ce5149df7ad91a7 (diff) | |
| download | bcm5719-llvm-8a5b46737a5991056998ddbc6d9915e7e21b63c5.tar.gz bcm5719-llvm-8a5b46737a5991056998ddbc6d9915e7e21b63c5.zip | |
ScheduleDAGInstrs: Comment on why subreg defs are not seen as uses; NFC
Usually subregister definitions are consider uses of the remaining
lanes that did not get defined. Add a comment why the code in
ScheduleDAGInstrs does not add use dependencies regardless.
llvm-svn: 269107
| -rw-r--r-- | llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp index e9ab6a24f8a..d4c4c2c1ddf 100644 --- a/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp +++ b/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp @@ -971,6 +971,10 @@ void ScheduleDAGInstrs::buildSchedGraph(AliasAnalysis *AA, // Now process all uses. for (unsigned j = 0, n = MI->getNumOperands(); j != n; ++j) { const MachineOperand &MO = MI->getOperand(j); + // Only look at use operands. + // We do not need to check for MO.readsReg() here because subsequent + // subregister defs will get output dependence edges and need no + // additional use dependencies. if (!MO.isReg() || !MO.isUse()) continue; unsigned Reg = MO.getReg(); |

