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
+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.
+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
--- /dev/null
+/* { 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" } } */
/* 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;