12 Commits

Author SHA1 Message Date
Karl-Johan Karlsson
01dcad0406 [GlobalISel] Silence gcc warning [NFC]
Without the fix gcc complains with:
../utils/TableGen/GlobalISelCombinerMatchTableEmitter.cpp:251:60: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
2023-08-14 13:35:27 +02:00
pvanhout
3a1eefae4b [GlobalISel] Do not discard InstructionPattern::checkSemantics result 2023-08-11 11:09:54 +02:00
pvanhout
65336f8070 [GlobalISel] Fix use of std::vector with forward decl
Some implementations of the STL don't allow it.
2023-08-11 09:09:09 +02:00
pvanhout
63afb70503 [RFC][GlobalISel] Overhauled MIR Patterns Support for Combiners
See https://discourse.llvm.org/t/rfc-overhauled-mir-patterns-for-globalisel-combiners/72264

This is a complete overrhaul of the recently-added GlobalISel Match Table backend which adds
support for MIR patterns for both match and apply patterns.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D156315
2023-08-11 08:54:56 +02:00
pvanhout
2532b68f68 [TableGen] Do not compile CombineRuleBuilder::verify in release builds
Avoids a warning about the function being unused.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D157085
2023-08-04 13:59:53 +02:00
pvanhout
fc12fd71cf [TableGen][GlobalISel] Fix unused variable warnings
Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D156208
2023-07-26 09:12:05 +02:00
pvanhout
32e7d42a5f [TableGen][GlobalISel] Fix warning when casting to void * 2023-07-24 10:28:39 +02:00
pvanhout
d7c6d057ef [TableGen][GlobalISel] Guarantee stable iteration order for stop-after-parse
Builds on top of 6de2735c2428 to fix remaining issues with iteration order in the MatchTable Combiner backend.
See D155789 as well.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D155821
2023-07-24 09:10:50 +02:00
Fangrui Song
6de2735c24 [TableGen][GlobalISel] Use MapVector to stabilize iteration order after D153757
StringMap iteration order is not guaranteed to be deterministic
(https://llvm.org/docs/ProgrammersManual.html#llvm-adt-stringmap-h).
2023-07-19 21:21:26 -07:00
pvanhout
28fd75c64f [TableGen] Don't emit empty switch statement for Combiner Match Tables
The change in `emitCxxPredicateFns` is NFC, just a cleanup
2023-07-11 12:11:27 +02:00
Jay Foad
8b76aea8d8 [TableGen][GlobalISel] Fix unused variable warning in Release build 2023-07-11 09:37:41 +01:00
pvanhout
c0719f3bac [RFC][TableGen][GlobalISel] Add Combiner Match Table Backend
Adds a new backend to power the GISel Combiners using the InstructionSelector's match tables.
This does not depend on any of the data structures created for the current combiner and is intended to replace it entirely.

See the RFC for more details: https://discourse.llvm.org/t/rfc-matchtable-based-globalisel-combiners/71457/6
Note: this would replace D141135.

Reviewed By: aemerson, arsenm

Differential Revision: https://reviews.llvm.org/D153757
2023-07-11 09:42:39 +02:00