brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · d674f42 Raw
62 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<ast>' -polly-print-ast -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s2;3; Verify we do not simplify the runtime check to "true" due to the domain4; constraints as the test contains an error block that influenced the domains5; already.6;7; CHECK: if (p_0_loaded_from_this <= -1 || p_0_loaded_from_this >= 1)8;9target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"10 11%"class.std::ctype" = type <{ %"class.std::locale::facet.base", [4 x i8], ptr, i8, [7 x i8], ptr, ptr, ptr, i8, [256 x i8], [256 x i8], i8, [6 x i8] }>12%"class.std::locale::facet.base" = type <{ ptr, i32 }>13%struct.__locale_struct = type { [13 x ptr], ptr, ptr, ptr, [13 x ptr] }14%struct.__locale_data = type opaque15 16$_ZNKSt5ctypeIcE5widenEc = comdat any17 18; Function Attrs: uwtable19define weak_odr signext i8 @_ZNKSt5ctypeIcE5widenEc(ptr %this, i8 signext %__c) comdat align 2 {20entry:21  br label %entry.split22 23entry.split:                                      ; preds = %entry24  %_M_widen_ok = getelementptr inbounds %"class.std::ctype", ptr %this, i64 0, i32 825  %0 = load i8, ptr %_M_widen_ok, align 8, !tbaa !126  %tobool = icmp eq i8 %0, 027  br i1 %tobool, label %if.end, label %if.then28 29if.then:                                          ; preds = %entry.split30  %idxprom = zext i8 %__c to i6431  %arrayidx = getelementptr inbounds %"class.std::ctype", ptr %this, i64 0, i32 9, i64 %idxprom32  %1 = load i8, ptr %arrayidx, align 1, !tbaa !733  br label %return34 35if.end:                                           ; preds = %entry.split36  tail call void @_ZNKSt5ctypeIcE13_M_widen_initEv(ptr %this)37  %vtable = load ptr, ptr %this, align 8, !tbaa !838  %vfn = getelementptr inbounds ptr, ptr %vtable, i64 639  %2 = load ptr, ptr %vfn, align 840  %call = tail call signext i8 %2(ptr %this, i8 signext %__c)41  br label %return42 43return:                                           ; preds = %if.end, %if.then44  %retval.0 = phi i8 [ %1, %if.then ], [ %call, %if.end ]45  ret i8 %retval.046}47 48declare void @_ZNKSt5ctypeIcE13_M_widen_initEv(ptr)49 50!llvm.ident = !{!0}51 52!0 = !{!"clang version 3.8.0"}53!1 = !{!2, !4, i64 56}54!2 = !{!"_ZTSSt5ctypeIcE", !3, i64 16, !6, i64 24, !3, i64 32, !3, i64 40, !3, i64 48, !4, i64 56, !4, i64 57, !4, i64 313, !4, i64 569}55!3 = !{!"any pointer", !4, i64 0}56!4 = !{!"omnipotent char", !5, i64 0}57!5 = !{!"Simple C/C++ TBAA"}58!6 = !{!"bool", !4, i64 0}59!7 = !{!4, !4, i64 0}60!8 = !{!9, !9, i64 0}61!9 = !{!"vtable pointer", !5, i64 0}62