This is the mail archive of the gcc-bugs@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]

[Bug tree-optimization/18270] [4.0 Regression] internal compiler error: in tree_redirect_edge_and_branch, at tree-cfg.c:4146


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-02 14:01 -------
Just look at the tree dump before going out of SSA.
;; Function foo (foo)

foo (aD.1115)
{
  voidD.30 * gotovar.0D.1135;
  voidD.30 L0L.0 = <<< error >>>;
  voidD.30 L1L.5 = <<< error >>>;
  static voidD.30 * LD.1120[1] = {&L1L.5};
  intD.0 jD.1119;
  intD.0 * qD.1118;
  intD.0 * D.1123;

  # BLOCK 0
  # PRED: ENTRY [100.0%]  (fallthru,exec)
  jD.1119_2 = 0;
  gotovar.0D.1135_4 = qD.1118_3;
  goto gotovar.0D.1135_4;
  # SUCC: 4 [100.0%]  (ab,exec)

  # BLOCK 1
  # PRED: 4 [100.0%]  (fallthru,irreducible,exec)
L0L.0:;
  #   TMT.1D.1137_13 = V_MAY_DEF <TMT.1D.1137_12>;
  *qD.1118_3 = jD.1119_1;
  #   VUSE <TMT.1D.1137_13>;
  D.1123_7 = aD.1115_6->pD.1113;
  if (qD.1118_3 < D.1123_7) goto <L1>; else goto L1L.5;
  # SUCC: 2 [50.0%]  (irreducible,true,exec) 4 [50.0%]  (irreducible,false,exec)

  # BLOCK 2
  # PRED: 1 [50.0%]  (irreducible,true,exec)
<L1>:;
  #   TMT.1D.1137_15 = V_MAY_DEF <TMT.1D.1137_13>;
  aD.1115_6->iD.1114 = 0;
  #   VUSE <TMT.1D.1137_15>;
  D.1123_19 = aD.1115_6->pD.1113;
  if (qD.1118_3 < D.1123_19) goto <L3>; else goto L1L.5;
  # SUCC: 3 [50.0%]  (irreducible,true,exec) 4 [50.0%]  (irreducible,false,exec)

  # BLOCK 3
  # PRED: 2 [50.0%]  (irreducible,true,exec)
<L3>:;
  #   TMT.1D.1137_14 = V_MAY_DEF <TMT.1D.1137_15>;
  aD.1115_6->iD.1114 = 0;
  # SUCC: 4 [100.0%]  (fallthru,dfs_back,irreducible,exec)

  # BLOCK 4
  # PRED: 0 [100.0%]  (ab,exec) 2 [50.0%]  (irreducible,false,exec) 3 [100.0%]  
(fallthru,dfs_back,irreducible,exec) 1 [50.0%]  (irreducible,false,exec)
Invalid sum of incoming frequencies 20000, should be 10000
  # TMT.1D.1137_10 = PHI <TMT.1D.1137_11(0), TMT.1D.1137_13(1), TMT.1D.1137_15(2), 
TMT.1D.1137_14(3)>;
  # jD.1119_1 = PHI <jD.1119_2(0), 1(2), 1(3), 1(1)>;  <-- this, we are trying to make a new  block for 
j_2 and then try to redirect the abornal branch to it
L1L.5:;
  #   TMT.1D.1137_12 = V_MAY_DEF <TMT.1D.1137_10>;
  *qD.1118_3 = 0;
  goto <bb 1> (L0);
  # SUCC: 1 [100.0%]  (fallthru,irreducible,exec)

}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18270


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