update to newer llvm api
refactor, no functionality change
if a user writes `++a`, assume they meant `a++` and diag accordingly