brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 71c3ca6 Raw
72 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=avr --mcpu=atmega328 -O0 -verify-machineinstrs | FileCheck %s3 4;; This .ll file is generated from the following cpp program:5;; struct foo {6;;   foo();7;; };8;; foo::foo() {}9;; foo f2;10;; Check https://github.com/llvm/llvm-project/issues/43443 for details.11 12%struct.foo = type { i8 }13 14@f2 = global %struct.foo zeroinitializer15 16@llvm.global_ctors = appending global [1 x { i32, ptr addrspace(1), ptr }] [{ i32, ptr addrspace(1), ptr } { i32 65535, ptr addrspace(1) @_GLOBAL__sub_I_failed.cc, ptr null }]17 18@_ZN3fooC1Ev = alias void (ptr), ptr addrspace(1) @_ZN3fooC2Ev19 20define void @_ZN3fooC2Ev(ptr dereferenceable(1) %this) {21; CHECK-LABEL: _ZN3fooC2Ev:22; CHECK:       ; %bb.0: ; %entry23; CHECK-NEXT:    push r2824; CHECK-NEXT:    push r2925; CHECK-NEXT:    in r28, 6126; CHECK-NEXT:    in r29, 6227; CHECK-NEXT:    sbiw r28, 228; CHECK-NEXT:    in r0, 6329; CHECK-NEXT:    cli30; CHECK-NEXT:    out 62, r2931; CHECK-NEXT:    out 63, r032; CHECK-NEXT:    out 61, r2833; CHECK-NEXT:    std Y+2, r2534; CHECK-NEXT:    std Y+1, r2435; CHECK-NEXT:    adiw r28, 236; CHECK-NEXT:    in r0, 6337; CHECK-NEXT:    cli38; CHECK-NEXT:    out 62, r2939; CHECK-NEXT:    out 63, r040; CHECK-NEXT:    out 61, r2841; CHECK-NEXT:    pop r2942; CHECK-NEXT:    pop r2843; CHECK-NEXT:    ret44entry:45  %this.addr = alloca ptr46  store ptr %this, ptr %this.addr47  %this1 = load ptr, ptr %this.addr48  ret void49}50 51define internal void @__cxx_global_var_init() addrspace(1) {52; CHECK-LABEL: __cxx_global_var_init:53; CHECK:       ; %bb.0: ; %entry54; CHECK-NEXT:    ldi r24, lo8(f2)55; CHECK-NEXT:    ldi r25, hi8(f2)56; CHECK-NEXT:    call _ZN3fooC1Ev57; CHECK-NEXT:    ret58entry:59  call addrspace(1) void @_ZN3fooC1Ev(ptr dereferenceable(1) @f2)60  ret void61}62 63define internal void @_GLOBAL__sub_I_failed.cc() addrspace(1) {64; CHECK-LABEL: _GLOBAL__sub_I_failed.cc:65; CHECK:       ; %bb.0: ; %entry66; CHECK-NEXT:    call __cxx_global_var_init67; CHECK-NEXT:    ret68entry:69  call addrspace(1) void @__cxx_global_var_init()70  ret void71}72