I'm reading a paper, and there is this paragraph about LLVM:
''it heavily relies on the static single assignment form (SSA) which cannot be readily used to design an abstract interpreter. The $\phi$-nodes need to be eliminated and other inadequate constructs need to be simplified using various LLVM transformation passes"
I understand the $\phi$-nodes need to be unrolled, but what are some examples of inadequate constructs in LLVM that make it unsuitable to design a static analyzer based on abstract interpretation?