summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
Commit message (Collapse)AuthorAgeFilesLines
* [Hexagon] Update more testcasesKrzysztof Parzyszek2018-03-061-2/+2
| | | | llvm-svn: 326830
* [ScheduleDAG] Make sure to process all def operands before any use operandsKrzysztof Parzyszek2016-05-101-0/+20
An example from Hexagon where things went wrong: %R0<def> = L2_loadrigp <ga:@fp04> ; load function address J2_callr %R0<kill>, ..., %R0<imp-def> ; call *R0, return value in R0 ScheduleDAGInstrs::buildSchedGraph would visit all instructions going backwards, and in each instruction it would visit all operands in their order on the operand list. In the case of this call, it visited the use of R0 first, then removed it from the set Uses after it visited the def. This caused the DAG to be missing the data dependence edge on R0 between the load and the call. Differential Revision: http://reviews.llvm.org/D20102 llvm-svn: 269076
OpenPOWER on IntegriCloud