Closed wsmoses closed 8 years ago
A continue in a cilk for causes a recursive detach and compiler crash
The source code below causes the crash:
#include <stdio.h> #include <cilk/cilk.h> int main() { cilk_for(int i=0; i<10; i++) { if (i%2==0) break; printf("%d\n", i); } }
The following command was run to cause the bug
wmoses@tardis:/mnt/files/git/Parallel-IR/Parallel-IR-Tests$ ~/git/Parallel-IR/build/bin/clang continue.c -ftapir -O3 clang-3.8: /home/wmoses/git/Parallel-IR/include/llvm/Transforms/CilkABI.h:1131: bool llvm::cilk::populateDetachedCFG(const llvm::DetachInst&, llvm::DominatorTree&, llvm::SmallPtrSet<llvm::BasicBlock*, 32u>&, llvm::SmallVector<llvm::BasicBlock*, 32u>&, bool, bool): Assertion `term != &detach && "Found recursive detach!"' failed.
A continue in a cilk for causes a recursive detach and compiler crash
The source code below causes the crash:
The following command was run to cause the bug