From: Darryl Miles <[EMAIL PROTECTED]> Date: Mon, 29 Oct 2007 04:53:49 +0000
> What are the issues with "speculative loads" ? The conditional might be protecting whether the pointer is valid and can be dereferenced at all. int *counter; void foo(int counter_is_valid) { if (counter_is_valid) (*counter)++; } And in another module that GCC can't see when compiling foo(): extern int *counter; int main(void) { int a = 0; foo(0); counter = &a; foo(1); return 0; }