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/copy.ssa | |
| 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/copy.ssa')
| -rw-r--r-- | test/copy.ssa | 15 |
1 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); } +# <<< |
