[PATCH] D19513: Add optimization bisect opt-in calls for Mips passes

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 14 06:48:41 PDT 2016


dsanders accepted this revision.
dsanders added a comment.
This revision is now accepted and ready to land.

LGTM

> I selected the pass to be skipped based on the fact that it was not added at CodeGenOpt::None in MipsTargetMachine.cpp. Based on that criteria, I did not add opt-in calls to the following passes:

> 

> Mips16HardFloat

> MipsConstantIslands

> MipsHazardSchedule

> MipsModuleDAGToDAGISel

> MipsLongBranch


I agree that these are all mandatory for the cases where they do something. A few of them will choose not to act on targets that don't need them (e.g. Mips16HardFloat)

> MipsOs16

>  During the original opt bisect code review there was speculation that MipsOs16 might be skippable, but since it isn't omitted for CodeGenOpt::None I decided to leave it alone for now.


I think this is skippable but I'm not 100% certain since I haven't done much with MIPS16. It looks like it's just choosing whether to use the compressed instruction set or not.

> Filler (delay slot filler)


This pass is mandatory but it doesn't have to find useful instructions for the delay slot. The DisableDelaySlotFiller variable forces it to insert nops instead. If you add the skipFunction() call where DisableDelaySlotFiller is used then you can skip the optional parts of the work. This can be done in a separate patch if you prefer.


Repository:
  rL LLVM

https://reviews.llvm.org/D19513





More information about the llvm-commits mailing list