mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
LLVM deprecated, renamed, and removed a bunch of APIs. This patch contains a lot of the changes needed to deal with that. The SetVector type changed the template parameters. APInt updated multiple names, countPopulation became popcount, getAllOnesValue became getAllOnes, getNullValue became getZero, etc... Clang type nullability check stopped taking a clang AST context. The LLVM IRGen Function type stopped exposing basic block list directly, but gained enough API surface that the translation isn't too bad. (GenControl.cpp, LLVMMergeFunctions.cpp) llvm::Optional had a transform function. That was being used in a couple of places, so I've added a new implementation under STLExtras that transforms valid optionals, otherwise it returns nullopt.
7.5 KiB
7.5 KiB