postreload-gcse heuristics broken?

Ulrich Weigand Ulrich.Weigand@de.ibm.com
Wed Jan 26 16:01:00 GMT 2005





Mostafa Hagog/Haifa/IBM wrote on 01/25/2005 11:10:50 PM:

> Here is an updated patch, can you please test it?

It does work.  But are you sure you wanted to keep this hunk:

*************** eliminate_partially_redundant_load (basi
*** 1030,1035 ****
--- 1031,1040 ----
    if (reg_set_or_used_since_bb_start (dest, bb, insn))
      return;

+     FOR_EACH_EDGE (pred, ei, bb->preds)
+       if (EDGE_CRITICAL_P (pred))
+       return;
+
    /* Check potential for replacing load with copy for predecessors.  */
    FOR_EACH_EDGE (pred, ei, bb->preds)
      {

It would appear the later tests for EDGE_CRITICAL_P are quite
pointless after this ...


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com



More information about the Gcc mailing list