Skip to content

Conversation

Meinersbur
Copy link
Member

PolyhedralInfo is tied to the legacy pass manager. With the eventual removal of the legacy pass manager it will not be useful anymore.

PolyhedralInfo was an experiment to make Polly's analysis available to other passes. Its power is limited due to not being able to make assumptions for which regular Polly would emit a runtime condition/code versioning during optimization.

When eventually porting such an API to the new pass manager, we will have to invent a new API.

@Meinersbur Meinersbur removed the request for review from DeinAlptraum May 17, 2025 19:20
@Meinersbur Meinersbur force-pushed the users/meinersbur/polly_remove-PolyhedralInfo branch from 3598ad1 to c882519 Compare May 17, 2025 19:26
@sebpop
Copy link
Contributor

sebpop commented Sep 3, 2025

Its power is limited due to not being able to make assumptions for which regular Polly would emit a runtime condition/code versioning during optimization.

When eventually porting such an API to the new pass manager, we will have to invent a new API.

What about adopting the same interface as DA uses for runtime assumptions: SCEVPredicate can be used to pass down to the user all runtime assumptions, and the user can decide whether to version or not based on how complex the assumptions are.

@Meinersbur
Copy link
Member Author

Meinersbur commented Oct 16, 2025

Polly assumptions are not SCEVPredicates, but no-overflow builtins, no-alias ranges, and isl_ast_exprs. The pass down must also match the llvm::Region as Polly does.

At this point PolyhedralInfo is just not useful. If you decide to work on this, feel free to resurrect it but at the moment it is just a burden to move away from the LPM.

@Meinersbur Meinersbur marked this pull request as ready for review October 16, 2025 08:34
@Meinersbur Meinersbur merged commit c46fec8 into main Oct 16, 2025
10 checks passed
@Meinersbur Meinersbur deleted the users/meinersbur/polly_remove-PolyhedralInfo branch October 16, 2025 09:11
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.

2 participants