1 /* { dg-do compile } */
2 /* { dg-options "-fgnu-tm -O -fdump-tree-tmedge" } */
4 /* Test thread-local memory optimizations: save/restore pairs. */
6 struct large
{ int x
[100]; };
8 extern int test (void) __attribute__((transaction_safe
));
9 extern int readint (void);
14 struct large lala
= bark();
15 __transaction_atomic
{
23 /* { dg-final { scan-tree-dump-times "tm_save.\[0-9_\]+ = lala.x\\\[55\\\]" 1 "tmedge" } } */
24 /* { dg-final { scan-tree-dump-times "lala.x\\\[55\\\] = tm_save" 1 "tmedge" } } */
25 /* { dg-final { cleanup-tree-dump "tmedge" } } */