[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