You want is_gimple_reg () instead of is_gimple_non_addressable () as you can't simply make something addressable at this point. is_gimple_non_addressable looks like a weird redundant predicate to me - it's only used once and its use should be replaced (and the predicate removed).
Ok, thanks. I am testing a patch changing my original patch, and cleaning up the other use of is_gimple_non_addressable.