Workaround an assertion failure during module build
authorSteven Wu <stevenwu@apple.com>
Tue, 13 Dec 2022 18:42:04 +0000 (10:42 -0800)
committerSteven Wu <stevenwu@apple.com>
Tue, 13 Dec 2022 18:42:17 +0000 (10:42 -0800)
commite77e14ecf17bba5f9e2ef43d8c3dbc9c86685287
tree40c78d59e379b586766b3a1d850ff7f5651f2b1a
parent269177eedff1cb42b8638d0eab2f087758a1a4c8
Workaround an assertion failure during module build

After the change in https://reviews.llvm.org/D131858, clang cannot
bootstrap itself with modules due to assertion failure:
(lvaluePath->getType() == elemTy && "Unexpected type reference!")

Workaround the assertion by converting some of the includes into forward
declares.

Reviewed By: arphaman

Differential Revision: https://reviews.llvm.org/D139956
llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h