For now, this matches the old pipeline where the Attributor is run early
as module pass (but disabled by default through an internal flag).
We are working on an CG-SCC pass version that we can run later as well.
Differential D69596
[Attributor] Add the Attributor to the new PM pipeline jdoerfert on Oct 29 2019, 5:16 PM. Authored by
Details For now, this matches the old pipeline where the Attributor is run early We are working on an CG-SCC pass version that we can run later as well.
Diff Detail
Event TimelineComment Actions Adding @chandlerc for review. I'm not very comfortable reviewing changes to the backend pipeline. Could you also add an LLVM test showing how this pass should affect the IR? Comment Actions Is there a particular reason for choosing this spot in pipeline? Comment Actions So, this enables Attributor pass, but in fact has all its functionality disabled unless -attributor-disable is set to false. Comment Actions
Okey, I did find a fair amount of tests that run individual -attributor *or* -passes=attributor (with -attributor-disable=false). I dont really see a sense in having AttributorPass in pipeline but all the sematics of it completely disabled, so running Attributor does not really runs the attributor. If -attributor-disabled=true is the state that you expect it to exist for a prolonged period of time I would better see -attributor-disable option This way when somebody sees "Running pass: AttributorPass" there will be no question on whether Attributor ran or not. Comment Actions setting request-changes state to make it obvious that there are some questions here I would like to see answered. Comment Actions Yes. I did fix the remaining LLVM test suite bugs the other day again. I was hoping to land the SCC version (D70767) before I ask people to set the disabled=false flag in their local test setup and report any breakages/problems.
It allows folks to test it locally by setting the flag. Without it being in the pipeline that is, as far as I know, really hard to do.
We can do that but (1) I hope disabled will default to false in the next release and (2) I want to make sure we do not invalidate any pass result.
Fair point. Once we enabled it by default I would be happy with not putting it in the pipeline if the flag is set. I can do that now if you think it helps. Sorry, I wrote the SCC pass (D70767) and merged this into it without closing this revision. |