From 2b64b75c845d0491c7a701e44485d2856eeb686d Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Thu, 27 Jul 2017 19:48:54 -0400 Subject: fix dynamic stack allocs for amd64 The arm64 might have the same problem but it is currently unable to handle them even in instruction selection. Thanks to Jean Dao for reporting the bug. --- test/dynalloc.ssa | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test/dynalloc.ssa (limited to 'test/dynalloc.ssa') diff --git a/test/dynalloc.ssa b/test/dynalloc.ssa new file mode 100644 index 0000000..7c54e88 --- /dev/null +++ b/test/dynalloc.ssa @@ -0,0 +1,27 @@ +# make sure dynamic allocations +# and caller-save regs interact +# soundly + +function $g() { +@start + ret +} + +function w $f(w %arg) { +@start + call $g() +@alloc + %r =l alloc8 16 + storel 180388626474, %r + %r8 =l add 8, %r + storel 180388626474, %r8 + ret %arg +} + +export +function w $main() { +@start + %a =w call $f(w 0) + %b =w call $f(w 0) + ret %a +} -- cgit 1.4.1