This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] rs6000, jit: Unbreak libgccjit on ppc (rs6000_output_function_epilogue)


rs6000_output_function_epilogue performs a series of string comparisons
on language_string, with a
		gcc_unreachable ();
if the language_string is unrecognized.

This leads to failure of any attempt to use libgccjit on rs6000, since
jit/dummy-frontend.c has:
	#define LANG_HOOKS_NAME		"libgccjit"

The attached patch adds support for this lang hook name, using 0 for the
language type.

Takes jit.sum from:
	# of expected passes            1417
	# of unexpected failures        30
to:
	# of expected passes            3428
	# of unexpected failures        6

(am investigating the other failures)

OK for trunk?

gcc/ChangeLog

	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Support the JIT by using 0 as the language type.
---
 gcc/config/rs6000/rs6000.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 80fcd65..d076656 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -25491,11 +25491,12 @@ rs6000_output_function_epilogue (FILE *file,
 	 use language_string.
 	 C is 0.  Fortran is 1.  Pascal is 2.  Ada is 3.  C++ is 9.
 	 Java is 13.  Objective-C is 14.  Objective-C++ isn't assigned
-	 a number, so for now use 9.  LTO and Go aren't assigned numbers
+	 a number, so for now use 9.  LTO, Go and JIT aren't assigned numbers
 	 either, so for now use 0.  */
       if (lang_GNU_C ()
 	  || ! strcmp (language_string, "GNU GIMPLE")
-	  || ! strcmp (language_string, "GNU Go"))
+	  || ! strcmp (language_string, "GNU Go")
+	  || ! strcmp (language_string, "libgccjit"))
 	i = 0;
       else if (! strcmp (language_string, "GNU F77")
 	       || ! strcmp (language_string, "GNU Fortran"))
-- 
1.8.1.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]