String optimisations gone?

Dave Korn dk@artimi.com
Wed Mar 24 19:23:00 GMT 2004


    Afternoon all,

  Could someone tell me if the compile-time string optimisations were
deliberately disabled between 3.2 and 3.3?  I've been working with a custom
backend in 3.2, and just tried up-porting it to 3.3.3; now I see lots of
diffs like this in the testsuite runs:



@@ -10181,16 +10181,16 @@ PASS: gcc.c-torture/execute/string-opt-8
 PASS: gcc.c-torture/execute/string-opt-8.c execution,  -Os 
 FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -O0 
 UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -O0 
-PASS: gcc.c-torture/execute/string-opt-9.c compilation,  -O1 
-PASS: gcc.c-torture/execute/string-opt-9.c execution,  -O1 
-PASS: gcc.c-torture/execute/string-opt-9.c compilation,  -O2 
-PASS: gcc.c-torture/execute/string-opt-9.c execution,  -O2 
-PASS: gcc.c-torture/execute/string-opt-9.c compilation,  -O3
-fomit-frame-pointer 
-PASS: gcc.c-torture/execute/string-opt-9.c execution,  -O3
-fomit-frame-pointer 
-PASS: gcc.c-torture/execute/string-opt-9.c compilation,  -O3 -g 
-PASS: gcc.c-torture/execute/string-opt-9.c execution,  -O3 -g 
-PASS: gcc.c-torture/execute/string-opt-9.c compilation,  -Os 
-PASS: gcc.c-torture/execute/string-opt-9.c execution,  -Os 
+FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -O1 
+UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -O1 
+FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -O2 
+UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -O2 
+FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -O3
-fomit-frame-pointer 
+UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -O3
-fomit-frame-pointer 
+FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -O3 -g 
+UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -O3 -g 
+FAIL: gcc.c-torture/execute/string-opt-9.c compilation,  -Os 
+UNRESOLVED: gcc.c-torture/execute/string-opt-9.c execution,  -Os 



  Now, on my small embedded target we don't have any string functions (in
fact, we barely have a runtime lib at all), and all those FAILed
compilations were failing with 'cannot resolve _strlen' or similar at
linktime.  But it worked ok for 3.2 at all levels above -O0, because the
functions were operating on constant strings and so were optimised away.
I've had a look through the list archives and I can't find anything obvious
(using search terms such as 'disable string optimisation'), so I'd just like
it if someone could confirm or deny to me that they've been deliberately
disabled; then I'll know whether my backend is doing something disasterously
wrong.


    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....



More information about the Gcc mailing list