[Chapel Merge] Update compiler code to work with LLVM-12

Branch: refs/heads/main
Revision: b3e9c43
Author: daviditen
Log Message:

Merge pull request #18468 from daviditen/llvm-12-upgrade-changes

Update compiler code to work with LLVM-12

[reviewed by @mppf]

Updating to LLVM-12 had some backward compatibility breaks that we hit. Update
the compiler so it will continue to work with both LLVM-11 and LLVM-12.

A new value in an enum required adding a new case to some switch statements.

A static method on DebugLoc became a static method on DILocation.

A static method on Module became a static method on StructType.

A method on VectorType got specialized into separate handling for
FixedVectorType and ScalableVectorType.

Signed-off-by: David Iten daviditen@users.noreply.github.com

Modified Files:
M compiler/codegen/cg-expr.cpp

M compiler/codegen/cg-stmt.cpp
M compiler/codegen/cg-symbol.cpp
M compiler/llvm/clangUtil.cpp
M compiler/llvm/llvmDebug.cpp
M compiler/llvm/llvmGlobalToWide.cpp
M compiler/llvm/llvmUtil.cpp

Compare: https://github.com/chapel-lang/chapel/compare/4f3331351a74...b3e9c432b2e9