[all-commits] [llvm/llvm-project] 1a25d0: [LICM] Remove profile driven restriction on hoisting
Philip Reames via All-commits
all-commits at lists.llvm.org
Fri Dec 3 17:19:54 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1a25d0bfbb6b587caa03bacd121b67086a774598
https://github.com/llvm/llvm-project/commit/1a25d0bfbb6b587caa03bacd121b67086a774598
Author: Philip Reames <listmail at philipreames.com>
Date: 2021-12-03 (Fri, 03 Dec 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
R llvm/test/Transforms/LICM/no-hoist-prof.ll
R llvm/test/Transforms/LICM/sink.ll
Log Message:
-----------
[LICM] Remove profile driven restriction on hoisting
This reverts change 2c391a5/D87551. As noted in the llvm-dev thread "LICM as canonical form" sent earlier today, introducing this was a major design change made without sufficient cause.
A profile driven LICM is not an unreasonable design, it simply is not what we have. Switching to such a model requires a lot more work than just this patch, and broad aggeement that is the right direction for the optimizer as a whole.
Worth noting is that all the tests included in the reverted changed are probably handled if we allow running unconstrained LICM, and later run LoopSink. As such, we have no public examples which motivate a profit based hoisting approach.
More information about the All-commits
mailing list