[llvm][ADT] Move TypeSwitch class from MLIR to LLVM
authorRiver Riddle <riddleriver@gmail.com>
Tue, 14 Apr 2020 21:53:50 +0000 (14:53 -0700)
committerRiver Riddle <riddleriver@gmail.com>
Tue, 14 Apr 2020 22:14:41 +0000 (15:14 -0700)
commitebf190fcda0b8b4e9de405ba13ddbc679550644b
treef0fcb67051d1cf7a900e01273d78c77c2df83e31
parent2f21a579665d44330b964cb47eece8bb9ab5a90c
[llvm][ADT] Move TypeSwitch class from MLIR to LLVM

This class implements a switch-like dispatch statement for a value of 'T' using dyn_cast functionality. Each `Case<T>` takes a callable to be invoked if the root value isa<T>, the callable is invoked with the result of dyn_cast<T>() as a parameter.

Differential Revision: https://reviews.llvm.org/D78070
24 files changed:
flang/lib/Optimizer/Dialect/FIROps.cpp
flang/lib/Optimizer/Dialect/FIRType.cpp
llvm/include/llvm/ADT/TypeSwitch.h [moved from mlir/include/mlir/ADT/TypeSwitch.h with 89% similarity]
llvm/unittests/ADT/CMakeLists.txt
llvm/unittests/ADT/TypeSwitchTest.cpp [moved from mlir/unittests/ADT/TypeSwitchTest.cpp with 93% similarity]
mlir/examples/toy/Ch1/parser/AST.cpp
mlir/examples/toy/Ch2/parser/AST.cpp
mlir/examples/toy/Ch3/parser/AST.cpp
mlir/examples/toy/Ch4/parser/AST.cpp
mlir/examples/toy/Ch5/parser/AST.cpp
mlir/examples/toy/Ch6/parser/AST.cpp
mlir/examples/toy/Ch7/parser/AST.cpp
mlir/include/mlir/Support/LLVM.h
mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
mlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
mlir/lib/TableGen/Operator.cpp
mlir/lib/TableGen/Successor.cpp
mlir/lib/TableGen/Type.cpp
mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
mlir/lib/Transforms/Utils/Utils.cpp
mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
mlir/tools/mlir-tblgen/OpFormatGen.cpp
mlir/unittests/ADT/CMakeLists.txt [deleted file]
mlir/unittests/CMakeLists.txt