diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-09-13 14:36:55 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-09-13 14:36:55 +0000 |
| commit | b558ae21255e427b97b49e6490e9eeca0fecff48 (patch) | |
| tree | 6a6434070d5a05940aae4b21ffe1d925a36af54c /llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll | |
| parent | 10897f1807610802f9b5cdc0f6792adece7bfd3f (diff) | |
| download | bcm5719-llvm-b558ae21255e427b97b49e6490e9eeca0fecff48.tar.gz bcm5719-llvm-b558ae21255e427b97b49e6490e9eeca0fecff48.zip | |
[Hexagon] Clear the flow queue after visiting a single instruction
llvm-svn: 281339
Diffstat (limited to 'llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll')
| -rw-r--r-- | llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll b/llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll new file mode 100644 index 00000000000..b44847dee68 --- /dev/null +++ b/llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll @@ -0,0 +1,47 @@ +; RUN: llc -march=hexagon < %s | FileCheck %s +; REQUIRES: asserts + +; Check that we don't crash. +; CHECK: call bar + +target triple = "hexagon" + +@debug = external hidden unnamed_addr global i1, align 4 + +; Function Attrs: nounwind +define void @foo() local_unnamed_addr #0 { +entry: + br label %if.end5 + +if.end5: ; preds = %entry + br i1 undef, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end5 + unreachable + +if.end13: ; preds = %if.end5 + br label %for.cond + +for.cond: ; preds = %if.end13 + %or.cond288 = or i1 undef, undef + br i1 undef, label %if.then44, label %if.end51 + +if.then44: ; preds = %for.cond + tail call void @bar() #0 + br label %if.end51 + +if.end51: ; preds = %if.then44, %for.cond + %.b433 = load i1, i1* @debug, align 4 + %or.cond290 = and i1 %or.cond288, %.b433 + br i1 %or.cond290, label %if.then55, label %if.end63 + +if.then55: ; preds = %if.end51 + unreachable + +if.end63: ; preds = %if.end51 + unreachable +} + +declare void @bar() local_unnamed_addr #0 + +attributes #0 = { nounwind } |

