52 lines · plain
1; Check that we do not try to evaluate function calls with signature2; mismatches.3; RUN: opt -passes=globalopt,instcombine %s -S -o - | FileCheck %s4 5; CHECK: @_q = dso_local global %struct.Q zeroinitializer6; CHECK: @llvm.global_ctors7 8source_filename = "main.cpp"9target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"10target triple = "x86_64-none-linux-gnu"11 12%struct.Q = type { i32 }13 14$_ZN1QC2Ev = comdat any15 16@_q = dso_local global %struct.Q zeroinitializer, align 417@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I_main.cpp, ptr null }]18 19define internal void @__cxx_global_var_init() section ".text.startup" {20 call void @_ZN1QC2Ev(ptr @_q)21 ret void22}23 24define linkonce_odr dso_local void @_ZN1QC2Ev(ptr) unnamed_addr #1 comdat align 2 {25 %2 = alloca ptr, align 826 store ptr %0, ptr %2, align 827 %3 = load ptr, ptr %2, align 828 %4 = call i32 @fmodf(float 0x40091EB860000000, float 2.000000e+00)29 store i32 %4, ptr %3, align 430 ret void31}32 33define dso_local i32 @main(i32, ptr) {34 %3 = alloca i32, align 435 %4 = alloca i32, align 436 %5 = alloca ptr, align 837 store i32 0, ptr %3, align 438 store i32 %0, ptr %4, align 439 store ptr %1, ptr %5, align 840 %6 = load i32, ptr @_q, align 441 ret i32 %642}43 44; Function Attrs: nounwind45declare dso_local float @fmodf(float, float)46 47; Function Attrs: noinline uwtable48define internal void @_GLOBAL__sub_I_main.cpp() section ".text.startup" {49 call void @__cxx_global_var_init()50 ret void51}52