diff options
| author | Quentin Carbonneaux <[email protected]> | 2025-03-14 13:09:21 +0100 |
|---|---|---|
| committer | Quentin Carbonneaux <[email protected]> | 2025-03-14 13:09:21 +0100 |
| commit | f3ca2577372eaae7056db24982abfc54be8f4cc1 (patch) | |
| tree | bdc83176ce62fa780981605f85e58c91c19f9edd /test | |
| parent | 1cb255cb045d1e531d5e7e6961ac90bb6f7a0474 (diff) | |
gvn/gcm review
- Many stylistic nits.
- Removed blkmerge().
- Some minor bug fixes.
- GCM reassoc is now "sink"; a pass that
moves trivial ops in their target block
with the same goal of reducing register
pressure, but starting from instructions
that benefit from having their inputs
close.
Diffstat (limited to 'test')
| -rw-r--r-- | test/copy.ssa | 15 | ||||
| -rw-r--r-- | test/gvn1.ssa (renamed from test/gvn-live-dead.ssa) | 0 | ||||
| -rw-r--r-- | test/gvn2.ssa (renamed from test/non0jnz.ssa) | 0 |
3 files changed, 15 insertions, 0 deletions
diff --git a/test/copy.ssa b/test/copy.ssa new file mode 100644 index 0000000..5c2a4d0 --- /dev/null +++ b/test/copy.ssa @@ -0,0 +1,15 @@ +export function w $f() { +@start + %x0 =w loadsb $a + # the extension must not be eliminated + # even though the load already extended + %x1 =l extsb %x0 + %c =w ceql %x1, -1 + ret %c +} + +# >>> driver +# char a = -1; +# extern int f(); +# int main() { return !(f() == 1); } +# <<< diff --git a/test/gvn-live-dead.ssa b/test/gvn1.ssa index d47f05b..d47f05b 100644 --- a/test/gvn-live-dead.ssa +++ b/test/gvn1.ssa diff --git a/test/non0jnz.ssa b/test/gvn2.ssa index 33f9a96..33f9a96 100644 --- a/test/non0jnz.ssa +++ b/test/gvn2.ssa |
