Currently, the IslAst library is a C library that would be incompatible with the rest of the LLVM because LLVM is written in C++.
I took one function, IsInnermostParallel(), and refactored it so that it would take the C++ wrapper object instead of using reference counters with the C ISL library. As well, all the references that use IsInnermostParallel() will use manage_copy() since they are still expecting the C object.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The pre-merge check failed. You can find the error in its log (Usually the pre-merge check directly adds the error into this review, don't know why this did not happen here):
[3036/3231] Building CXX object tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o FAILED: tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DBUILD_EXAMPLES -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/polly/lib -I/mnt/disks/ssd0/agent/llvm-project/polly/lib -Itools/polly/include -I/mnt/disks/ssd0/agent/llvm-project/polly/lib/External -I/mnt/disks/ssd0/agent/llvm-project/polly/lib/External/pet/include -I/mnt/disks/ssd0/agent/llvm-project/polly/lib/External/isl/include -Itools/polly/lib/External/isl/include -I/mnt/disks/ssd0/agent/llvm-project/polly/include -Iinclude -I/mnt/disks/ssd0/agent/llvm-project/llvm/include -gmlt -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -O3 -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o -MF tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o.d -o tools/polly/lib/CMakeFiles/obj.Polly.dir/CodeGen/IslNodeBuilder.cpp.o -c /mnt/disks/ssd0/agent/llvm-project/polly/lib/CodeGen/IslNodeBuilder.cpp /mnt/disks/ssd0/agent/llvm-project/polly/lib/CodeGen/IslNodeBuilder.cpp:765:49: error: reference to type 'const isl::ast_node' could not bind to an lvalue of type 'isl_ast_node *' if (Vector && IslAstInfo::isInnermostParallel(For) && ^~~ /mnt/disks/ssd0/agent/llvm-project/polly/include/polly/CodeGen/IslAst.h:151:56: note: passing argument to parameter 'Node' here static bool isInnermostParallel(const isl::ast_node &Node); ^ 1 error generated.
I also applied this patch locally and the same error occurs with gcc as well as msvc. Did you maybe forget to git add IslNodeBuilder.cpp a change into the commit? Could you fix this and then update the diff of this Phabricator review?
Comment Actions
Added IslNodeBuilder.cpp to the diff, required for build.
Just forgot it when creating the diff