int keep(volatile int *p) { return *p && 0; } | |
int kill(int *p, int i) { return *p && 0; } | |
void ind(volatile int *p,int i) { int v = i++; if (i && 0) p[v]; } | |
/* | |
* check-name: kill-load | |
* check-command: test-linearize -Wno-decl $file | |
* check-description: | |
* Check that loads are optimized away but only | |
* when needed: | |
* - non-volatile | |
* - bb unreachable. | |
* | |
* check-output-ignore | |
* check-output-pattern(1): load\\. | |
*/ |