aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorTobias Stadler <mail@stadler-tobias.de>2024-08-15 14:40:16 +0200
committerGitHub <noreply@github.com>2024-08-15 14:40:16 +0200
commit846f790216e1a0c40f8890d489904c3d716cc998 (patch)
tree5ed70eeb140acf78d3823652392d9337cf3b985a /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentf71b63865140cf3c286baf3a77ba3e467f929504 (diff)
downloadllvm-846f790216e1a0c40f8890d489904c3d716cc998.zip
llvm-846f790216e1a0c40f8890d489904c3d716cc998.tar.gz
llvm-846f790216e1a0c40f8890d489904c3d716cc998.tar.bz2
[GlobalISel] Combiner: Observer-based DCE and retrying of combines
Continues the work for disabling fixed-point iteration in the Combiner (#94291). This introduces improved Observer-based heuristics in the GISel Combiner to retry combining defs/uses of modified instructions and for performing sparse dead code elimination. I have experimented a lot with the heuristics and this seems to be the minimal set of heuristics that allows disabling fixed-point iteration for AArch64 CTMark O2 without regressions. Enabling this globally would pass all regression tests for all official targets (apart from small benign diffs), but I have made this fully opt-in for now, because I can't quantify the impact for other targets. This should mostly be on-par with how the WorkList-aware functions in the InstCombiner and DAGCombiner handle rescheduling instructions for recombining. For performance numbers see my follow-up patch for AArch64 (#102167) Pull Request: https://github.com/llvm/llvm-project/pull/102163
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions