/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-lim2-details" } */ | |
/* Test that `count' is not hoisted out of loop when bb is cold. */ | |
int count; | |
volatile int x; | |
struct obj { | |
int data; | |
struct obj *next; | |
} *q; | |
void | |
func (int m) | |
{ | |
struct obj *p; | |
for (int i = 0; i < m; i++) | |
if (__builtin_expect (x, 0)) | |
count++; | |
} | |
/* { dg-final { scan-tree-dump-not "Executing store motion of" "lim2" } } */ |