[gcc r16-785] genemit: Remove purported handling of location_ts

Richard Sandiford rsandifo@gcc.gnu.org
Wed May 21 09:02:41 GMT 2025


https://gcc.gnu.org/g:efbc8de515c71c27e881d425f8325e39f7b4f328

commit r16-785-gefbc8de515c71c27e881d425f8325e39f7b4f328
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed May 21 10:01:30 2025 +0100

    genemit: Remove purported handling of location_ts
    
    gen_exp had code to handle the 'L' operand format.  But this format
    is specifically for location_ts, which are only used in RTX_INSNs.
    Those should never occur in this context, where the input is always
    an md file rather than an __RTL function.  Any hard-coded raw
    location value would be meaningless anyway.
    
    It seemed safer to turn this into an error rather than a gcc_unreachable.
    
    gcc/
            * genemit.cc (generator::gen_exp): Raise an error if we see
            an 'L' operand.

Diff:
---
 gcc/genemit.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/genemit.cc b/gcc/genemit.cc
index 0529b916455f..9923cf078b96 100644
--- a/gcc/genemit.cc
+++ b/gcc/genemit.cc
@@ -270,7 +270,8 @@ generator::gen_exp (rtx x)
 	  break;
 
 	case 'L':
-	  fprintf (file, "%llu", (unsigned long long) XLOC (x, i));
+	  fatal_at (info.loc, "'%s' rtxes are not supported in this context",
+		    GET_RTX_NAME (code));
 	  break;
 
 	case 'r':


More information about the Gcc-cvs mailing list