Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[llc/opt] Add an option to run all passes twice #6666

Merged
merged 6 commits into from
Jun 24, 2024

Conversation

lizhengxing
Copy link
Collaborator

@lizhengxing lizhengxing commented May 31, 2024

This PR pulls the following upstream changes into DXC:

[llc/opt] Add an option to run all passes twice (llvm/llvm-project@04464cf)

Lately, I have submitted a number of patches to fix bugs that only occurred when using the same pass manager to compile
multiple modules (generally these bugs are failure to reset some persistent state).

Unfortunately I don't think there is currently a way to test that from the command line. This adds a very simple flag to both
llc and opt, under which the tools will simply re-run their respective
pass pipelines using the same pass manager on (a clone of the same module). Additionally, we verify that both outputs are
bitwise the same.

Reviewers: yaron.keren

[opt] Fix sanitizer complaints about r254774 (llvm/llvm-project@38707c4)

Out can be null if no output is requested, so move any access
to it inside the conditional. Thanks to Justin Bogner for finding
this.

This is for the test of this change (llvm/llvm-project@ef8761f) to fix #6659.

@lizhengxing lizhengxing requested a review from a team as a code owner May 31, 2024 17:21
Copy link
Contributor

github-actions bot commented May 31, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

@lizhengxing lizhengxing force-pushed the user/zhengxing/Add-run-twice-option-upstream branch from 3551e6a to a3d0f3f Compare May 31, 2024 17:23
lizhengxing and others added 2 commits June 21, 2024 14:19
This PR pulls the upstream change, [llc/opt] Add an option to run all passes twice (llvm/llvm-project@04464cf), into DXC.

Here's the summary of the change:

  Lately, I have submitted a number of patches to fix bugs that only occurred when using the same pass manager to compile multiple modules (generally these bugs are failure to reset some persistent state).

  Unfortunately I don't think there is currently a way to test that from the command line. This adds a very simple flag to both llc and opt, under which the tools will simply re-run their respective
  pass pipelines using the same pass manager on (a clone of the same module). Additionally, we verify that both outputs are bitwise the same.

  Reviewers: yaron.keren

This is for the test of this change (llvm/llvm-project@ef8761f) to fix #6659.
@adam-yang adam-yang force-pushed the user/zhengxing/Add-run-twice-option-upstream branch from 5db2139 to 126c2d5 Compare June 21, 2024 21:32
Copy link
Contributor

@dmpots dmpots left a comment

Choose a reason for hiding this comment

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

LGTM

@adam-yang adam-yang merged commit b79169b into main Jun 24, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Non-determinism in Reassociate caused by address coincidences
3 participants