90 lines · plain
1; RUN: llc -mtriple=hexagon -O2 -mcpu=hexagonv60 < %s | FileCheck %s2 3; Look for an instruction, we really just do not want to see an abort.4; CHECK: trace_event5; REQUIRES: asserts6 7target datalayout = "e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-f64:64:64-f32:32:32-v64:64:64-v32:32:32-a:0-n16:32"8target triple = "hexagon-unknown--elf"9 10; Function Attrs: nounwind11define void @_ZN6Halide7Runtime8Internal13default_traceEPvPK18halide_trace_event() #0 {12entry:13 br i1 undef, label %if.then, label %if.else14 15if.then: ; preds = %entry16 br label %while.cond17 18while.cond: ; preds = %while.cond, %if.then19 br i1 undef, label %while.cond, label %while.end20 21while.end: ; preds = %while.cond22 %add = add i32 undef, 4823 br i1 undef, label %if.end, label %if.then1724 25if.then17: ; preds = %while.end26 unreachable27 28if.end: ; preds = %while.end29 %arrayidx21 = getelementptr inbounds [4096 x i8], ptr undef, i32 0, i32 830 store i8 undef, ptr %arrayidx21, align 4, !tbaa !131 br i1 undef, label %for.body42.preheader6, label %min.iters.checked32 33for.body42.preheader6: ; preds = %vector.body.preheader, %min.iters.checked, %if.end34 unreachable35 36min.iters.checked: ; preds = %if.end37 br i1 undef, label %for.body42.preheader6, label %vector.body.preheader38 39vector.body.preheader: ; preds = %min.iters.checked40 br i1 undef, label %for.cond48.preheader, label %for.body42.preheader641 42for.cond48.preheader: ; preds = %vector.body.preheader43 br i1 undef, label %while.cond.i, label %for.body61.lr.ph44 45for.body61.lr.ph: ; preds = %for.cond48.preheader46 br i1 undef, label %for.body61, label %min.iters.checked59547 48min.iters.checked595: ; preds = %for.body61.lr.ph49 br i1 undef, label %for.body61, label %vector.memcheck60850 51vector.memcheck608: ; preds = %min.iters.checked59552 %scevgep600 = getelementptr [4096 x i8], ptr undef, i32 0, i32 %add53 %bound0604 = icmp ule ptr %scevgep600, undef54 %memcheck.conflict607 = and i1 undef, %bound060455 br i1 %memcheck.conflict607, label %for.body61, label %vector.body59056 57vector.body590: ; preds = %vector.body590, %vector.memcheck60858 br i1 undef, label %middle.block591, label %vector.body590, !llvm.loop !459 60middle.block591: ; preds = %vector.body59061 %cmp.n613 = icmp eq i32 undef, 062 br i1 %cmp.n613, label %while.cond.i, label %for.body6163 64while.cond.i: ; preds = %for.body61, %while.cond.i, %middle.block591, %for.cond48.preheader65 br i1 undef, label %_ZN6Halide7Runtime8Internal14ScopedSpinLockC2EPVi.exit, label %while.cond.i66 67_ZN6Halide7Runtime8Internal14ScopedSpinLockC2EPVi.exit: ; preds = %while.cond.i68 unreachable69 70for.body61: ; preds = %for.body61, %middle.block591, %vector.memcheck608, %min.iters.checked595, %for.body61.lr.ph71 %cmp59 = icmp ult i32 undef, undef72 br i1 %cmp59, label %for.body61, label %while.cond.i, !llvm.loop !773 74if.else: ; preds = %entry75 unreachable76}77 78attributes #0 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }79 80!llvm.module.flags = !{!0}81 82!0 = !{i32 2, !"halide_mattrs", !"+hvx"}83!1 = !{!2, !2, i64 0}84!2 = !{!"omnipotent char", !3, i64 0}85!3 = !{!"Simple C/C++ TBAA"}86!4 = distinct !{!4, !5, !6}87!5 = !{!"llvm.loop.vectorize.width", i32 1}88!6 = !{!"llvm.loop.interleave.count", i32 1}89!7 = distinct !{!7, !5, !6}90