SafeStack is essentially an IA-64/SPARC-style two-stack model - there are no pointers to the %rsp stack.
int *p = cond ? &a : &b;
...later enough that this isn't trivially optimized into two stores...
*p = 1;
will probably not be flagged (it depends on what optimization passes have run before the SafeStack pass), but will put the pointer in the stack or a register that may be saved.