From 0d2e19cc4c639c27a93c3ed76d892b16d40dcc9b Mon Sep 17 00:00:00 2001 From: James Iry Date: Fri, 22 Feb 2013 14:01:28 -0800 Subject: SI-7006 Recognize more jump only blocks During ASM code emission we would recognize a block that consisted of ICode-only artifacts (ENTER_SCOPE, EXIT_SCOPE, and LOAD_EXCEPTION) followed by a jump. But we weren't using the same logic to recognize all jump-only blocks. So jump-elision wasn't removing them. And that in fact was why the ASM code emission had to do its special case. This commit makes all jump-only block recognition use the same logic: a jump-only block is one that has 0 or more ICode-only instructions followed by a JUMP. It does't necessarily have to start with a JUMP. There's now a debugWarning if the old NOP emitting code is triggered and test t6102 is enhanced to error if that warning occurs. --- test/files/run/t6102.flags | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/files/run/t6102.flags') diff --git a/test/files/run/t6102.flags b/test/files/run/t6102.flags index e35535c8ea..72fe7b1aa0 100644 --- a/test/files/run/t6102.flags +++ b/test/files/run/t6102.flags @@ -1 +1 @@ - -Ydead-code + -Ydead-code -Ydebug -Xfatal-warnings -- cgit v1.2.3