[all-commits] [llvm/llvm-project] 5b1580: [AArch64][GlobalISel] Create a new minimal combine...
Amara Emerson via All-commits
all-commits at lists.llvm.org
Fri May 7 17:07:44 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5b158093e2469dec16a070019c6432d26bf7be9b
https://github.com/llvm/llvm-project/commit/5b158093e2469dec16a070019c6432d26bf7be9b
Author: Amara Emerson <amara at apple.com>
Date: 2021-05-07 (Fri, 07 May 2021)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
A llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
R llvm/test/CodeGen/AArch64/combine-loads.ll
Log Message:
-----------
[AArch64][GlobalISel] Create a new minimal combiner pass just for -O0.
We never bothered to have a separate set of combines for -O0 in the prelegalizer
before. This results in some minor performance hits for a mode where performance
isn't a concern (although not regressing code size significantly is still preferable).
This also removes the CSE option since we don't need it for -O0.
Through experiments, I've arrived at a set of combines that gets the most code
size improvement at -O0, while reducing the amount of time spent in the combiner
by around 35% give or take.
Differential Revision: https://reviews.llvm.org/D102038
More information about the All-commits
mailing list