[multiple changes]
2012-05-16 Dave Boutcher <daveboutcher@gmail.com> Patrick Marlier <patrick.marlier@gmail.com> * trans-mem.c (ipa_tm_transform_clone): Transform functions with indirect calls. testsuite/ 2012-05-16 Patrick Marlier <patrick.marlier@gmail.com> * gcc.dg/tm/indirect-2.c: New test. From-SVN: r187621
This commit is contained in:
parent
e2f7d9f4ad
commit
8730965e42
4 changed files with 26 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-05-16 Dave Boutcher <daveboutcher@gmail.com>
|
||||
Patrick Marlier <patrick.marlier@gmail.com>
|
||||
|
||||
* trans-mem.c (ipa_tm_transform_clone): Transform functions with
|
||||
indirect calls.
|
||||
|
||||
2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* configure: Regenerated.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2012-05-16 Patrick Marlier <patrick.marlier@gmail.com>
|
||||
|
||||
* gcc.dg/tm/indirect-2.c: New test.
|
||||
|
||||
2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||||
|
||||
PR tree-optimization/53217
|
||||
|
|
15
gcc/testsuite/gcc.dg/tm/indirect-2.c
Normal file
15
gcc/testsuite/gcc.dg/tm/indirect-2.c
Normal file
|
@ -0,0 +1,15 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-fgnu-tm" } */
|
||||
|
||||
void __attribute__((transaction_safe))
|
||||
foo(void);
|
||||
|
||||
void __attribute__((transaction_safe))
|
||||
set_fn(void)
|
||||
{
|
||||
void __attribute__((transaction_safe)) (*fn)(void);
|
||||
fn = foo;
|
||||
fn();
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler "_ITM_getTMCloneSafe" } } */
|
|
@ -4732,7 +4732,7 @@ ipa_tm_transform_clone (struct cgraph_node *node)
|
|||
/* If this function makes no calls and has no irrevocable blocks,
|
||||
then there's nothing to do. */
|
||||
/* ??? Remove non-aborting top-level transactions. */
|
||||
if (!node->callees && !d->irrevocable_blocks_clone)
|
||||
if (!node->callees && !node->indirect_calls && !d->irrevocable_blocks_clone)
|
||||
return;
|
||||
|
||||
current_function_decl = d->clone->symbol.decl;
|
||||
|
|
Loading…
Add table
Reference in a new issue