ScheduleDAGInstrs: Add condjump deps to addSchedBarrierDeps()
authorMatthias Braun <matze@braunis.de>
Fri, 11 Nov 2016 01:34:21 +0000 (01:34 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 11 Nov 2016 01:34:21 +0000 (01:34 +0000)
commit325cd2c98ab64b8dbee7f493818ba01e0143d34b
treed9e65626f00ca77244351153fbe4b3d3a68408c8
parenta89d8ff0adc2782c53301733e308aa5954d7eff3
ScheduleDAGInstrs: Add condjump deps to addSchedBarrierDeps()

addSchedBarrierDeps() is supposed to add use operands to the ExitSU
node. The current implementation adds uses for calls/barrier instruction
and the MBB live-outs in all other cases. The use
operands of conditional jump instructions were missed.

Also added code to macrofusion to set the latencies between nodes to
zero to avoid problems with the fusing nodes lingering around in the
pending list now.

Differential Revision: https://reviews.llvm.org/D25140

llvm-svn: 286544
15 files changed:
llvm/include/llvm/CodeGen/MachineScheduler.h
llvm/lib/CodeGen/MachineScheduler.cpp
llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
llvm/test/CodeGen/AArch64/misched-fusion.ll
llvm/test/CodeGen/AArch64/neg-imm.ll
llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
llvm/test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
llvm/test/CodeGen/AMDGPU/wqm.ll
llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
llvm/test/CodeGen/PowerPC/ppc-shrink-wrapping.ll
llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
llvm/test/CodeGen/SystemZ/int-cmp-48.ll