[PATCH] D135915: [ConstraintElim] Enable pass by default.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 13 13:53:10 PDT 2022


fhahn created this revision.
fhahn added reviewers: nikic, reames, asbirlea, mkazantsev.
Herald added subscribers: ormris, wenlei, steven_wu, hiraditya, kristof.beyls.
Herald added a project: All.
fhahn requested review of this revision.
Herald added a project: LLVM.

The pass should help to close a functional gap when it comes to
reasoning about related conditions in a relatively general way.

It addresses multiple existing issues (linked below) and the need for a
more powerful reasoning system was also discussed recently in
https://discourse.llvm.org/t/rfc-alternative-approach-of-dealing-with-implications-from-comparisons-through-pos-analysis/65601/7

On AArch64, the new pass performs ~2000 simplifications on
MultiSource,SPEC2006,SPEC2017 with -O3.

Compile-time impact:

NewPM-O3: +0.29%
NewPM-ReleaseThinLTO: +0.37%
NewPM-ReleaseLTO-g: +0.34%

https://llvm-compile-time-tracker.com/compare.php?from=572d5d374c98e29214d4a49a03cfc5d33cb15744&to=85dee8fd7d7eda641351cad628092bb44c0fcb4e&stat=instructions

Fixes #49344.
Fixes #47888.
Fixes #48253.
Fixes #49229.
Fixes #58074.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D135915

Files:
  llvm/lib/Passes/PassBuilderPipelines.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-lto-defaults.ll
  llvm/test/Other/new-pm-thinlto-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135915.467596.patch
Type: text/x-patch
Size: 5764 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221013/f021d881/attachment.bin>


More information about the llvm-commits mailing list