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

[Release] Install compiler-rt builtins during Phase 1 on AIX #81485

Merged
merged 2 commits into from
Feb 16, 2024

Conversation

azhan92
Copy link
Contributor

@azhan92 azhan92 commented Feb 12, 2024

The current test-release.sh script does not install the necessary compiler-rt builtin's during Phase 1 on AIX, resulting on a non-functional Phase 1 clang.

@@ -534,7 +534,7 @@ function build_llvmCore() {
# compiler-rt builtins is needed on AIX to have a functional Phase 1 clang.
if [ "$System" = "AIX" -o "$Phase" != "1" ]; then
BuildTarget="$BuildTarget runtimes"
InstallTarget="$InstallTarget install-runtimes"
InstallTarget="$InstallTarget install-runtimes install-builtins"
Copy link
Contributor

@amy-kwan amy-kwan Feb 12, 2024

Choose a reason for hiding this comment

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

@tstellar Just wanted to check, but in the original commit that added this section, there's no explicit install-builtins so did we just miss adding it or is its absence intentional?

We realized that install-runtimes does not actually install the compiler-rt builtins, so it appears that install-builtins is needed here (at least on AIX).

Also, it would seem that this section can run on non-AIX systems, and on Phase 2, and I'm not quite sure if that matches the comment on 534. Is this also intentional?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@tstellar Just wanted to check, but in the original commit that added this section, there's no explicit install-builtins so did we just miss adding it or is its absence intentional?

I just missed adding install-builtins I didn't know it was required. Does it work if you do only install-builtins and not install-runtimes.

Also, it would seem that this section can run on non-AIX systems, and on Phase 2, and I'm not quite sure if that matches the comment on 534. Is this also intentional?

This was another mistake. You are correct there is a bug in the current logic.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It does work with just install-builtins and not install-runtimes

Copy link
Collaborator

Choose a reason for hiding this comment

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

This was another mistake. You are correct there is a bug in the current logic.

@tstellar:
Was the intent for only AIX to have the extra targets added on Phase 1 and 2?
(I would be surprised if it was needed for only Phase 1 and not Phase 2).

Copy link
Collaborator

@hubert-reinterpretcast hubert-reinterpretcast left a comment

Choose a reason for hiding this comment

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

I have reviewed this and have no comments at this time. I agree that rationale for the status quo difference between Phase 1 and Phase 2 does not appear to be explained.

@tstellar
Copy link
Collaborator

@hubert-reinterpretcast I was trying to copy the logic that was there before, so whatever that was is correct.

@hubert-reinterpretcast
Copy link
Collaborator

@hubert-reinterpretcast I was trying to copy the logic that was there before, so whatever that was is correct.

@tstellar, it seems to me that there was special treatment of neither AIX nor Phase 2 in the state prior to fcae8ce, so (since we do know that special AIX behavior is intended at least for Phase 1) I interpret your statements as there being no broad intent for special Phase 2 behavior.

@azhan92, can you see if a combination of the corrected install target with a condition to apply only for Phase 1 on AIX works? If not, then also apply for Phase 2 on AIX.

@azhan92
Copy link
Contributor Author

azhan92 commented Feb 14, 2024

@hubert-reinterpretcast I was trying to copy the logic that was there before, so whatever that was is correct.

@tstellar, it seems to me that there was special treatment of neither AIX nor Phase 2 in the state prior to fcae8ce, so (since we do know that special AIX behavior is intended at least for Phase 1) I interpret your statements as there being no broad intent for special Phase 2 behavior.

@azhan92, can you see if a combination of the corrected install target with a condition to apply only for Phase 1 on AIX works? If not, then also apply for Phase 2 on AIX.

It looks like this statement is necessary for Phase 2 on AIX as well. Should I just remove the -o $Phase" == "1" part of the condition then?

@tstellar
Copy link
Collaborator

It looks like this statement is necessary for Phase 2 on AIX as well. Should I just remove the -o $Phase" == "1" part of the condition then?

That seems OK to me.

@hubert-reinterpretcast hubert-reinterpretcast merged commit 3af5c98 into llvm:main Feb 16, 2024
4 checks passed
@tstellar tstellar added this to the LLVM 18.X Release milestone Feb 28, 2024
@tstellar
Copy link
Collaborator

/cherry-pick 3af5c98

llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Feb 28, 2024
)

The current test-release.sh script does not install the necessary
compiler-rt builtin's during Phase 1 on AIX, resulting on a
non-functional Phase 1 clang. Futhermore, the installation is also
necessary for Phase 2 on AIX.

Co-authored-by: Alison Zhang <alisonzhang@ibm.com>
(cherry picked from commit 3af5c98)
@llvmbot
Copy link
Collaborator

llvmbot commented Feb 28, 2024

/pull-request #83323

llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Mar 13, 2024
)

The current test-release.sh script does not install the necessary
compiler-rt builtin's during Phase 1 on AIX, resulting on a
non-functional Phase 1 clang. Futhermore, the installation is also
necessary for Phase 2 on AIX.

Co-authored-by: Alison Zhang <alisonzhang@ibm.com>
(cherry picked from commit 3af5c98)
@pointhex pointhex mentioned this pull request May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

6 participants