brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 0fdcc81 Raw
77 lines · plain
1# REQUIRES: x86-registered-target2# RUN: llc -mtriple=x86_64-unknown-linux-gnu -run-pass=none -print-mir2vec -mir2vec-vocab-path=%S/Inputs/mir2vec_dummy_3D_vocab.json %s -o /dev/null 2>&1 | FileCheck %s3 4--- |5  target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"6  7  define dso_local noundef i32 @add_function(i32 noundef %a, i32 noundef %b) {8  entry:9    %sum = add nsw i32 %a, %b10    %result = mul nsw i32 %sum, 211    ret i32 %result12  }13  14  define dso_local void @simple_function() {15  entry:16    ret void17  }18...19---20name:            add_function21alignment:       1622tracksRegLiveness: true23registers:24  - { id: 0, class: gr32 }25  - { id: 1, class: gr32 }26  - { id: 2, class: gr32 }27  - { id: 3, class: gr32 }28liveins:29  - { reg: '$edi', virtual-reg: '%0' }30  - { reg: '$esi', virtual-reg: '%1' }31body:             |32  bb.0.entry:33    liveins: $edi, $esi34  35    %1:gr32 = COPY $esi36    %0:gr32 = COPY $edi37    %2:gr32 = nsw ADD32rr %0, %1, implicit-def dead $eflags38    %3:gr32 = ADD32rr %2, %2, implicit-def dead $eflags39    $eax = COPY %340    RET 0, $eax41 42---43name:            simple_function44alignment:       1645tracksRegLiveness: true46body:             |47  bb.0.entry:48    RET 049 50# CHECK: MIR2Vec embeddings for machine function add_function:51# CHECK: Function vector:  [ 26.50  27.10  27.70 ]52# CHECK-NEXT: Machine basic block vectors:53# CHECK-NEXT: Machine basic block: add_function:entry:54# CHECK-NEXT:  [ 26.50  27.10  27.70 ]55# CHECK-NEXT: Machine instruction vectors:56# CHECK-NEXT: Machine instruction: %1:gr32 = COPY $esi57# CHECK-NEXT:  [ 6.00  6.10  6.20 ]58# CHECK-NEXT: Machine instruction: %0:gr32 = COPY $edi59# CHECK-NEXT:  [ 6.00  6.10  6.20 ]60# CHECK-NEXT: Machine instruction: %2:gr32 = nsw ADD32rr %0:gr32(tied-def 0), %1:gr32, implicit-def dead $eflags61# CHECK-NEXT:  [ 3.70  3.80  3.90 ]62# CHECK-NEXT: Machine instruction: %3:gr32 = ADD32rr %2:gr32(tied-def 0), %2:gr32, implicit-def dead $eflags63# CHECK-NEXT:  [ 3.70  3.80  3.90 ]64# CHECK-NEXT: Machine instruction: $eax = COPY %3:gr3265# CHECK-NEXT:  [ 6.00  6.10  6.20 ]66# CHECK-NEXT: Machine instruction: RET 0, $eax67# CHECK-NEXT:  [ 1.10  1.20  1.30 ]68 69# CHECK: MIR2Vec embeddings for machine function simple_function:70# CHECK-NEXT:Function vector:  [ 1.10  1.20  1.30 ]71# CHECK-NEXT: Machine basic block vectors:72# CHECK-NEXT: Machine basic block: simple_function:entry:73# CHECK-NEXT:  [ 1.10  1.20  1.30 ]74# CHECK-NEXT: Machine instruction vectors:75# CHECK-NEXT: Machine instruction: RET 076# CHECK-NEXT:  [ 1.10  1.20  1.30 ]77