Skip to content

Conversation

pchintalapudi
Copy link
Member

@pchintalapudi pchintalapudi commented Jul 26, 2022

This PR does 2 things to move us closer to using NewPM everywhere:

  • Include the new pipelines in pipeline.cpp, which forces futures PRs to not break the pipelines accidentally
  • Start using the new pass manager in some non-critical places (stripping address spaces, bitcode file writing) which reduces future migration issues

Much of the content of this PR was cribbed from #44365, just separating it out to merge the more unobjectionable parts first

Fix #44987.

@pchintalapudi pchintalapudi added compiler:codegen Generation of LLVM IR and native code compiler:llvm For issues that relate to LLVM labels Jul 26, 2022
@pchintalapudi pchintalapudi requested a review from vchuravy July 26, 2022 06:27
} else {
MPM.addPass(RemoveNI());
}
MPM.addPass(LowerSIMDLoop()); // TODO why do we do this twice
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While translating our pass pipeline over to NewPM, I noticed that we're calling for LowerSIMDLoop to run twice in the pipeline if we're running at O1 or below. Is there a particular reason for this double run?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No I think we should only run it once

@pchintalapudi
Copy link
Member Author

The SparseArrays Win64 segfault is unrelated to this PR, and this PR doesn't really turn on any interesting functionality that could cause it anyways.

@pchintalapudi pchintalapudi merged commit 2e0b75c into master Jul 30, 2022
@pchintalapudi pchintalapudi deleted the pc/newpm_pipeline branch July 30, 2022 04:11
ffucci pushed a commit to ffucci/julia that referenced this pull request Aug 11, 2022
* Create basic NewPM structures

* Replace incidental uses of the legacy pass manager with the new pass manager

* Run the MC emitter
pcjentsch pushed a commit to pcjentsch/julia that referenced this pull request Aug 18, 2022
* Create basic NewPM structures

* Replace incidental uses of the legacy pass manager with the new pass manager

* Run the MC emitter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compiler:codegen Generation of LLVM IR and native code compiler:llvm For issues that relate to LLVM

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LLVM’s legacy pass manager passes for sanitizers will go away

2 participants