This is speculative since I'm not sure if there's some implicit contract that a variable symbol must not have another variable symbol in its evaluation tree.
Downstream bug: https://bugs.chromium.org/p/chromium/issues/detail?id=471146#c23.
Test is based on alias.s (removed checks since we just need to know it didn't crash).
Use llvm-readobj -s to check the symbol values, instead of checking it doesn't crash.