[PATCH, testsuite] Skip tail call tests on Thumb-1 targets

Thomas Preudhomme thomas.preudhomme@foss.arm.com
Wed May 25 20:48:00 GMT 2016


Hi,

The sibcall_epilogue expand in arm.md is only defined for TARGET_32BIT targets 
and thus is not defined for TARGET_THUMB1 targets. As a result, tail call 
plugin tests fail with "cannot tail-call: machine description does not have a 
sibcall_epilogue instruction pattern". This patch skip these tests on Thumb-1 
since these are expected to fail.

ChangeLog entry is as follows:

*** gcc/testsuite/ChangeLog ***

2016-05-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        * gcc.dg/plugin/plugin.exp: skip tail call tests for Thumb-1.


diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp 
b/gcc/testsuite/gcc.dg/plugin/plugin.exp
index 62f6797..321b4ba 100644
--- a/gcc/testsuite/gcc.dg/plugin/plugin.exp
+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp
@@ -90,6 +90,12 @@ foreach plugin_test $plugin_test_list {
     if ![runtest_file_p $runtests $plugin_src] then {
         continue
     }
+    # Skip tail call tests on targets that do not have sibcall_epilogue.
+    if {[regexp ".*must_tail_call_plugin.c" $plugin_src]
+	&& [istarget arm*-*-*]
+	&& [check_effective_target_arm_thumb1]} then {
+	continue
+    }
     set plugin_input_tests [lreplace $plugin_test 0 0]
     plugin-test-execute $plugin_src $plugin_input_tests
 }


Is this ok for trunk?

Best regards,

Thomas



More information about the Gcc-patches mailing list