[all-commits] [llvm/llvm-project] df3442: [IR] Relax convergence requirements on call (#135794)
Nathan Gauër via All-commits
all-commits at lists.llvm.org
Fri May 2 01:18:19 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: df344285e260109e016e28a14e663f376d8e903c
https://github.com/llvm/llvm-project/commit/df344285e260109e016e28a14e663f376d8e903c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-05-02 (Fri, 02 May 2025)
Changed paths:
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/test/Assembler/convergence-control.ll
A llvm/test/Transforms/ADCE/convergence.ll
A llvm/test/Transforms/BDCE/convergence.ll
M llvm/test/Transforms/FunctionAttrs/convergent.ll
M llvm/test/Verifier/convergencectrl-invalid.ll
Log Message:
-----------
[IR] Relax convergence requirements on call (#135794)
Before this commit, having a convergence token on a non-convergent call
was considered to be an error.
This commit relaxes this requirement and allows convergence tokens to be
present on non-convergent calls.
When such token is present, they have no effect as the underlying call
is non-convergent.
This allows passes like DCE to strip `convergent` attribute from
functions for which all convergent operations have been stripped. When
this happens, a convergence token can still exist in the call-site,
causing the verifier to complain.
Alternatives have been considered in #134863 and #134844.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list