Commit 501a583
authored
[TableGen][SelectionDAG] Remove the
The node was introduced in 59c39dc and was intended to allow writing
patterns like this:
`[(set AL, (mul AL, GR8:$src1)), (implicit EFLAGS)]`
However, it does not introduce new functionality because the same
pattern can be equivalently expressed as:
`[(set AL, EFLAGS, (mul AL, GR8:$src1))]`
The latter form is also more flexible as it allows reordering output
operands.
In most places uses of `implicit` were redundant -- removing them didn't
change anything in the generated DAG tables. The only three cases where
it did have effect are in X86InstrArithmetic.td and X86InstrSystem.td --
those were rewritten to use `set` node.
Removing `implicit` from some patterns made them importable by GISel,
hence the change in a test.implicit DAG node (llvm#115295)1 parent fb4f426 commit 501a583
File tree
12 files changed
+149
-257
lines changed- llvm
- lib/Target
- AArch64
- AVR
- MSP430
- X86
- test/CodeGen/X86/GlobalISel
- utils/TableGen
- Common
12 files changed
+149
-257
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2579 | 2579 | | |
2580 | 2580 | | |
2581 | 2581 | | |
2582 | | - | |
2583 | | - | |
| 2582 | + | |
2584 | 2583 | | |
2585 | 2584 | | |
2586 | 2585 | | |
| |||
5912 | 5911 | | |
5913 | 5912 | | |
5914 | 5913 | | |
5915 | | - | |
| 5914 | + | |
5916 | 5915 | | |
5917 | 5916 | | |
5918 | 5917 | | |
5919 | 5918 | | |
5920 | 5919 | | |
5921 | | - | |
| 5920 | + | |
5922 | 5921 | | |
5923 | 5922 | | |
5924 | 5923 | | |
5925 | 5924 | | |
5926 | 5925 | | |
5927 | | - | |
| 5926 | + | |
5928 | 5927 | | |
5929 | 5928 | | |
5930 | 5929 | | |
5931 | 5930 | | |
5932 | | - | |
| 5931 | + | |
5933 | 5932 | | |
5934 | 5933 | | |
5935 | 5934 | | |
5936 | 5935 | | |
5937 | | - | |
| 5936 | + | |
5938 | 5937 | | |
5939 | 5938 | | |
5940 | 5939 | | |
5941 | 5940 | | |
5942 | | - | |
| 5941 | + | |
5943 | 5942 | | |
5944 | 5943 | | |
5945 | 5944 | | |
| |||
0 commit comments