This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/13875] [tree-ssa] missed jump thread optimization on the tree-level
- From: "dann at godzilla dot ics dot uci dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Apr 2004 01:27:11 -0000
- Subject: [Bug optimization/13875] [tree-ssa] missed jump thread optimization on the tree-level
- References: <20040127051055.13875.dann@godzilla.ics.uci.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dann at godzilla dot ics dot uci dot edu 2004-04-06 01:27 -------
I am not sure that this belongs here, or if I should open another PR.
Also from generate-3.4.ii from PR8361
the .vars dump for function
bool PT<GPROGRAM>::isReallyPossible() const
looks like:
int T.3219;
int iftmp.14163;
<bb 0>:
if (this->allowsPositive) goto <L0>; else goto <L11>;
<L0>:;
T.3219 = (int)*(((struct GINTERPRET *)this->I)->array + (TruthValue
*)(((struct GATOM *)(struct GATOM &)((struct
__normal_iterator<constGATOM*,std::vector<GATOM, std::allocator<GATOM> > >
*)this + 12B)->_M_current)->index * 4));
if ((bool)(T.3219 == 0) != 0) goto <L17>; else goto <L4>;
<L17>:;
iftmp.14163 = 1;
goto <bb 4> (<L10>);
<L4>:;
if ((bool)(T.3219 == 2) != 0) goto <L8>; else goto <L18>;
<L18>:;
iftmp.14163 = 0;
goto <bb 4> (<L10>);
<L8>:;
iftmp.14163 = 1;
<L10>:;
return iftmp.14163;
<L11>:;
return (int)(bool)((int)*(((struct GINTERPRET *)this->I)->array + (TruthValue
*)(((struct GATOM *)(struct GATOM &)(struct GLITERAL *)(struct GLITERAL
&)((struct __normal_iterator<constTLITERAL<GATOM>*,std::vector<TLITERAL<GATOM>,
std::allocator<TLITERAL<GATOM> > > > *)this + 16B)->_M_current)->index * 4)) == 0);
The 2 ifs that test T.3219 look strange.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13875