mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 04:39:44 +00:00
1545953510
`DIDescriptor`'s subclasses allow construction from incompatible pointers, and `DIDescriptor` defines a series of `isa<>`-like functions (e.g., `isCompileUnit()` instead of `isa<MDCompileUnit>()`) that clients tend to use like this: if (DICompileUnit(N).isCompileUnit()) foo(DICompileUnit(N)); These construction patterns work together to make `DIDescriptor` behave differently from normal pointers. Instead, use built-in `isa<>`, `dyn_cast<>`, etc., and only build `DIDescriptor`s from pointers that are valid for their type. I've split this into a few commits for different parts of LLVM and clang (to decrease the patch size and increase the chance of review). Generally the changes I made were NFC, but in a few places I made things stricter if it made sense from the surrounded code. Eventually a follow-up commit will remove the API for the "old" way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234255 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AnalysisWrappers.cpp | ||
BreakpointPrinter.cpp | ||
BreakpointPrinter.h | ||
CMakeLists.txt | ||
GraphPrinters.cpp | ||
LLVMBuild.txt | ||
Makefile | ||
NewPMDriver.cpp | ||
NewPMDriver.h | ||
opt.cpp | ||
PassPrinters.cpp | ||
PassPrinters.h | ||
PrintSCC.cpp |