trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
* trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge. From-SVN: r182205
This commit is contained in:
parent
8d2c862dfe
commit
716286f40a
@ -1,3 +1,8 @@
|
||||
2011-12-11 Patrick Marlier <patrick.marlier@gmail.com>
|
||||
|
||||
* trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
|
||||
edge.
|
||||
|
||||
2011-12-10 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
|
||||
|
33
gcc/testsuite/g++.dg/tm/cgraph_edge.C
Normal file
33
gcc/testsuite/g++.dg/tm/cgraph_edge.C
Normal file
@ -0,0 +1,33 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-fgnu-tm -O3" }
|
||||
|
||||
template<typename _InputIterator, typename _Distance> inline void advance(_InputIterator& __i, _Distance __n)
|
||||
{
|
||||
if (__n > 0)
|
||||
while (__n--)
|
||||
--__i;
|
||||
else
|
||||
--__i;
|
||||
}
|
||||
|
||||
void _Rb_tree_increment ();
|
||||
|
||||
template<typename _Tp> struct _Rb_tree_iterator
|
||||
{
|
||||
typedef _Rb_tree_iterator<_Tp> iterator;
|
||||
|
||||
iterator& operator--()
|
||||
{
|
||||
_Rb_tree_increment();
|
||||
}
|
||||
};
|
||||
|
||||
void update ()
|
||||
{
|
||||
_Rb_tree_iterator<int>::iterator it;
|
||||
__transaction_relaxed
|
||||
{
|
||||
advance (it, 0);
|
||||
}
|
||||
}
|
||||
|
@ -4481,7 +4481,6 @@ ipa_tm_transform_calls_redirect (struct cgraph_node *node,
|
||||
{
|
||||
*need_ssa_rename_p |=
|
||||
ipa_tm_insert_gettmclone_call (node, region, gsi, stmt);
|
||||
cgraph_remove_edge (e);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user