Skip to content

Conversation

@alex-t
Copy link
Contributor

@alex-t alex-t commented Jul 8, 2025

This is the next attempt to upstream this: #144947
The las one caused build errors in AArch64.
Issue was resolved.

@alex-t alex-t requested a review from fhahn July 8, 2025 16:31
@github-actions
Copy link

github-actions bot commented Jul 8, 2025

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

@alex-t alex-t merged commit 9293b65 into llvm:main Jul 8, 2025
9 checks passed
@vitalybuka
Copy link
Collaborator

@lenary
Copy link
Member

lenary commented Jul 9, 2025

I think this is also causing crashes in ELD's ci which builds against tip of LLVM-project: https://github.com/qualcomm/eld/actions/runs/16155428606/job/45596726140 - the traces are pointing to:

  • SelectionDAGISel::initializeAnalysisResults(llvm::MachineFunctionPass&) (also pointed to by the official bot in the link above)
  • TargetTransformInfoWrapperPass::getTTI(llvm::Function const&) with SelectionDAGISel::initializeAnalysisResults(llvm::MachineFunctionPass&) immediately prior on the stack.

I think this might need to be reverted?

@mikhailramalho
Copy link
Member

llc is crashing on the test cases from #146407

@lenary
Copy link
Member

lenary commented Jul 9, 2025

I think I see the problem. SelectionDAGISelLegacy::getAnalysisUsage was not added now that the analyses are required - it still has an #ifnef NDEBUG around the AU.addRequired<TargetTransformInfoWrapperPass>() - I haven't yet found the equivalent code for the new pass manager but I'm sure I will imminently.

lenary added a commit to lenary/llvm-project that referenced this pull request Jul 9, 2025
llvm#147560 changed when the legacy SelectionDAG pass needs
TargetTransformInfoWrapperPass to always require it (rather than only
when assertions are enabled). `SelectionDAGISelLegacy::getAnalysisUsage`
was not updated in that PR, which was causing crashes on
assertions-disabled builds, which are hard to track down.

This makes the required update, which should avoid crashes being seen on
some buildbots and by some users.
lenary added a commit that referenced this pull request Jul 9, 2025
#147560 changed when the legacy SelectionDAG pass needs
TargetTransformInfoWrapperPass to always require it (rather than only
when assertions are enabled). `SelectionDAGISelLegacy::getAnalysisUsage`
was not updated in that PR, which was causing crashes on
assertions-disabled builds, which are hard to track down.

This makes the required update, which should avoid crashes being seen on
some buildbots and by some users.
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Jul 9, 2025
llvm/llvm-project#147560 changed when the legacy SelectionDAG pass needs
TargetTransformInfoWrapperPass to always require it (rather than only
when assertions are enabled). `SelectionDAGISelLegacy::getAnalysisUsage`
was not updated in that PR, which was causing crashes on
assertions-disabled builds, which are hard to track down.

This makes the required update, which should avoid crashes being seen on
some buildbots and by some users.
@alex-t
Copy link
Contributor Author

alex-t commented Jul 9, 2025

@lenary , thank you so much for handling this! My apologies for inaccuracy :(

@lenary
Copy link
Member

lenary commented Jul 9, 2025

No worries, debugging things is hard, especially when it depends on the kind of build (asserts vs none)

@dstutt
Copy link
Collaborator

dstutt commented Jul 22, 2025

This change is causing us issues downstream - we've had to revert it there.
Issue arises when using wwm intrinsic. A quick fix was to add detection of WWM/(WQM?) intrinsics in isSingleLaneExecution, but that's probably too expensive.
Either way, this change breaks in this situation and causes failures for Vulkan CTS subgroup operations.

Does this need reverting here as well - it can break in the presence of wwm intrinsics.

dstutt added a commit that referenced this pull request Aug 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants