[PATCH] D46641: [mips] WIP: Merge MipsLongBranch and MipsHazardSchedule passes
Aleksandar Beserminji via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 9 08:16:10 PDT 2018
abeserminji created this revision.
abeserminji added reviewers: petarj, sdardis.
Herald added subscribers: arichardson, mgorny, dschuff.
MipsLongBranchPass and MipsHazardSchedule passes are joined to one pass because of mutual conflict.
When MipsHazardSchedule inserts 'nop's, it potentially breaks some jumps, so they have to be expanded
to long branches. When some branch is expanded to long branch, it potentially creates a hazard situation,
which should be fixed by adding nops.
This pass now combine these two passes, and runs them alternately until one of them reports no changes
were made.
Repository:
rL LLVM
https://reviews.llvm.org/D46641
Files:
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/Mips.h
lib/Target/Mips/MipsBranchExpansion.cpp
lib/Target/Mips/MipsHazardSchedule.cpp
lib/Target/Mips/MipsLongBranch.cpp
lib/Target/Mips/MipsTargetMachine.cpp
test/CodeGen/Mips/branch-relaxation-with-hazard.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46641.145924.patch
Type: text/x-patch
Size: 60466 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180509/af75ea32/attachment.bin>
More information about the llvm-commits
mailing list