245 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O0 < %s | FileCheck %s --check-prefixes=O03; RUN: llc -O1 < %s | FileCheck %s --check-prefixes=OPT4; RUN: llc -O2 < %s | FileCheck %s --check-prefixes=OPT5; RUN: llc -O3 < %s | FileCheck %s --check-prefixes=OPT6 7target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"8target triple = "x86_64-unknown-linux-gnu"9 10@__llvm_gcov_ctr.89 = internal global [2 x i64] zeroinitializer11@__llvm_gcov_ctr.109 = internal global [2 x i64] zeroinitializer12@__llvm_gcov_ctr.112 = internal global [2 x i64] zeroinitializer13@__llvm_gcov_ctr.113 = internal global [2 x i64] zeroinitializer14@__llvm_gcov_ctr.154 = internal global [1 x i64] zeroinitializer15@__llvm_gcov_ctr.155 = internal global [2 x i64] zeroinitializer16@__llvm_gcov_ctr.156 = internal global [2 x i64] zeroinitializer17@__llvm_gcov_ctr.157 = internal global [2 x i64] zeroinitializer18@__llvm_gcov_ctr.160 = internal global [2 x i64] zeroinitializer19@__llvm_gcov_ctr.161 = internal global [2 x i64] zeroinitializer20@__llvm_gcov_ctr.189 = internal global [2 x i64] zeroinitializer21@__llvm_gcov_ctr.1109 = internal global [2 x i64] zeroinitializer22@__llvm_gcov_ctr.1112 = internal global [2 x i64] zeroinitializer23@__llvm_gcov_ctr.1113 = internal global [2 x i64] zeroinitializer24@__llvm_gcov_ctr.1154 = internal global [1 x i64] zeroinitializer25@__llvm_gcov_ctr.1155 = internal global [2 x i64] zeroinitializer26@__llvm_gcov_ctr.1156 = internal global [2 x i64] zeroinitializer27@__llvm_gcov_ctr.1157 = internal global [2 x i64] zeroinitializer28@__llvm_gcov_ctr.1160 = internal global [2 x i64] zeroinitializer29@__llvm_gcov_ctr.1161 = internal global [2 x i64] zeroinitializer30 31define dso_local void @independent_load_stores() {32; O0-LABEL: independent_load_stores:33; O0: # %bb.0:34; O0-NEXT: .Lpcsection0:35; O0-NEXT: movq __llvm_gcov_ctr.109, %rax36; O0-NEXT: addq $1, %rax37; O0-NEXT: .Lpcsection1:38; O0-NEXT: movq %rax, __llvm_gcov_ctr.10939; O0-NEXT: .Lpcsection2:40; O0-NEXT: movq __llvm_gcov_ctr.112, %rax41; O0-NEXT: addq $1, %rax42; O0-NEXT: .Lpcsection3:43; O0-NEXT: movq %rax, __llvm_gcov_ctr.11244; O0-NEXT: .Lpcsection4:45; O0-NEXT: movq __llvm_gcov_ctr.113, %rax46; O0-NEXT: addq $1, %rax47; O0-NEXT: .Lpcsection5:48; O0-NEXT: movq %rax, __llvm_gcov_ctr.11349; O0-NEXT: .Lpcsection6:50; O0-NEXT: movq __llvm_gcov_ctr.154, %rax51; O0-NEXT: addq $1, %rax52; O0-NEXT: .Lpcsection7:53; O0-NEXT: movq %rax, __llvm_gcov_ctr.15454; O0-NEXT: .Lpcsection8:55; O0-NEXT: movq __llvm_gcov_ctr.155, %rax56; O0-NEXT: addq $1, %rax57; O0-NEXT: .Lpcsection9:58; O0-NEXT: movq %rax, __llvm_gcov_ctr.15559; O0-NEXT: .Lpcsection10:60; O0-NEXT: movq __llvm_gcov_ctr.89, %rax61; O0-NEXT: addq $1, %rax62; O0-NEXT: .Lpcsection11:63; O0-NEXT: movq %rax, __llvm_gcov_ctr.8964; O0-NEXT: .Lpcsection12:65; O0-NEXT: movq __llvm_gcov_ctr.160, %rax66; O0-NEXT: addq $1, %rax67; O0-NEXT: .Lpcsection13:68; O0-NEXT: movq %rax, __llvm_gcov_ctr.16069; O0-NEXT: .Lpcsection14:70; O0-NEXT: movq __llvm_gcov_ctr.156, %rax71; O0-NEXT: addq $1, %rax72; O0-NEXT: .Lpcsection15:73; O0-NEXT: movq %rax, __llvm_gcov_ctr.15674; O0-NEXT: .Lpcsection16:75; O0-NEXT: movq __llvm_gcov_ctr.157, %rax76; O0-NEXT: addq $1, %rax77; O0-NEXT: .Lpcsection17:78; O0-NEXT: movq %rax, __llvm_gcov_ctr.15779; O0-NEXT: .Lpcsection18:80; O0-NEXT: movq __llvm_gcov_ctr.161, %rax81; O0-NEXT: addq $1, %rax82; O0-NEXT: .Lpcsection19:83; O0-NEXT: movq %rax, __llvm_gcov_ctr.16184; O0-NEXT: .Lpcsection20:85; O0-NEXT: movq __llvm_gcov_ctr.1109, %rax86; O0-NEXT: addq $1, %rax87; O0-NEXT: .Lpcsection21:88; O0-NEXT: movq %rax, __llvm_gcov_ctr.110989; O0-NEXT: .Lpcsection22:90; O0-NEXT: movq __llvm_gcov_ctr.1112, %rax91; O0-NEXT: addq $1, %rax92; O0-NEXT: .Lpcsection23:93; O0-NEXT: movq %rax, __llvm_gcov_ctr.111294; O0-NEXT: .Lpcsection24:95; O0-NEXT: movq __llvm_gcov_ctr.1113, %rax96; O0-NEXT: addq $1, %rax97; O0-NEXT: .Lpcsection25:98; O0-NEXT: movq %rax, __llvm_gcov_ctr.111399; O0-NEXT: .Lpcsection26:100; O0-NEXT: movq __llvm_gcov_ctr.1154, %rax101; O0-NEXT: addq $1, %rax102; O0-NEXT: .Lpcsection27:103; O0-NEXT: movq %rax, __llvm_gcov_ctr.1154104; O0-NEXT: .Lpcsection28:105; O0-NEXT: movq __llvm_gcov_ctr.1155, %rax106; O0-NEXT: addq $1, %rax107; O0-NEXT: .Lpcsection29:108; O0-NEXT: movq %rax, __llvm_gcov_ctr.1155109; O0-NEXT: .Lpcsection30:110; O0-NEXT: movq __llvm_gcov_ctr.189, %rax111; O0-NEXT: addq $1, %rax112; O0-NEXT: .Lpcsection31:113; O0-NEXT: movq %rax, __llvm_gcov_ctr.189114; O0-NEXT: .Lpcsection32:115; O0-NEXT: movq __llvm_gcov_ctr.1160, %rax116; O0-NEXT: addq $1, %rax117; O0-NEXT: .Lpcsection33:118; O0-NEXT: movq %rax, __llvm_gcov_ctr.1160119; O0-NEXT: .Lpcsection34:120; O0-NEXT: movq __llvm_gcov_ctr.1156, %rax121; O0-NEXT: addq $1, %rax122; O0-NEXT: .Lpcsection35:123; O0-NEXT: movq %rax, __llvm_gcov_ctr.1156124; O0-NEXT: .Lpcsection36:125; O0-NEXT: movq __llvm_gcov_ctr.1157, %rax126; O0-NEXT: addq $1, %rax127; O0-NEXT: .Lpcsection37:128; O0-NEXT: movq %rax, __llvm_gcov_ctr.1157129; O0-NEXT: .Lpcsection38:130; O0-NEXT: movq __llvm_gcov_ctr.1161, %rax131; O0-NEXT: addq $1, %rax132; O0-NEXT: .Lpcsection39:133; O0-NEXT: movq %rax, __llvm_gcov_ctr.1161134; O0-NEXT: retq135;136; OPT-LABEL: independent_load_stores:137; OPT: # %bb.0:138; OPT-NEXT: .Lpcsection0:139; OPT-NEXT: incq __llvm_gcov_ctr.109(%rip)140; OPT-NEXT: .Lpcsection1:141; OPT-NEXT: incq __llvm_gcov_ctr.112(%rip)142; OPT-NEXT: .Lpcsection2:143; OPT-NEXT: incq __llvm_gcov_ctr.113(%rip)144; OPT-NEXT: .Lpcsection3:145; OPT-NEXT: incq __llvm_gcov_ctr.154(%rip)146; OPT-NEXT: .Lpcsection4:147; OPT-NEXT: incq __llvm_gcov_ctr.155(%rip)148; OPT-NEXT: .Lpcsection5:149; OPT-NEXT: incq __llvm_gcov_ctr.89(%rip)150; OPT-NEXT: .Lpcsection6:151; OPT-NEXT: incq __llvm_gcov_ctr.160(%rip)152; OPT-NEXT: .Lpcsection7:153; OPT-NEXT: incq __llvm_gcov_ctr.156(%rip)154; OPT-NEXT: .Lpcsection8:155; OPT-NEXT: incq __llvm_gcov_ctr.157(%rip)156; OPT-NEXT: .Lpcsection9:157; OPT-NEXT: incq __llvm_gcov_ctr.161(%rip)158; OPT-NEXT: .Lpcsection10:159; OPT-NEXT: incq __llvm_gcov_ctr.1109(%rip)160; OPT-NEXT: .Lpcsection11:161; OPT-NEXT: incq __llvm_gcov_ctr.1112(%rip)162; OPT-NEXT: .Lpcsection12:163; OPT-NEXT: incq __llvm_gcov_ctr.1113(%rip)164; OPT-NEXT: .Lpcsection13:165; OPT-NEXT: incq __llvm_gcov_ctr.1154(%rip)166; OPT-NEXT: .Lpcsection14:167; OPT-NEXT: incq __llvm_gcov_ctr.1155(%rip)168; OPT-NEXT: .Lpcsection15:169; OPT-NEXT: incq __llvm_gcov_ctr.189(%rip)170; OPT-NEXT: .Lpcsection16:171; OPT-NEXT: incq __llvm_gcov_ctr.1160(%rip)172; OPT-NEXT: .Lpcsection17:173; OPT-NEXT: incq __llvm_gcov_ctr.1156(%rip)174; OPT-NEXT: .Lpcsection18:175; OPT-NEXT: incq __llvm_gcov_ctr.1157(%rip)176; OPT-NEXT: .Lpcsection19:177; OPT-NEXT: incq __llvm_gcov_ctr.1161(%rip)178; OPT-NEXT: retq179 %1 = load i64, ptr @__llvm_gcov_ctr.109, align 8, !pcsections !0180 %2 = add i64 %1, 1181 store i64 %2, ptr @__llvm_gcov_ctr.109, align 8, !pcsections !0182 %3 = load i64, ptr @__llvm_gcov_ctr.112, align 8, !pcsections !0183 %4 = add i64 %3, 1184 store i64 %4, ptr @__llvm_gcov_ctr.112, align 8, !pcsections !0185 %5 = load i64, ptr @__llvm_gcov_ctr.113, align 8, !pcsections !0186 %6 = add i64 %5, 1187 store i64 %6, ptr @__llvm_gcov_ctr.113, align 8, !pcsections !0188 %7 = load i64, ptr @__llvm_gcov_ctr.154, align 8, !pcsections !0189 %8 = add i64 %7, 1190 store i64 %8, ptr @__llvm_gcov_ctr.154, align 8, !pcsections !0191 %9 = load i64, ptr @__llvm_gcov_ctr.155, align 8, !pcsections !0192 %10 = add i64 %9, 1193 store i64 %10, ptr @__llvm_gcov_ctr.155, align 8, !pcsections !0194 %11 = load i64, ptr @__llvm_gcov_ctr.89, align 8, !pcsections !0195 %12 = add i64 %11, 1196 store i64 %12, ptr @__llvm_gcov_ctr.89, align 8, !pcsections !0197 %13 = load i64, ptr @__llvm_gcov_ctr.160, align 8, !pcsections !0198 %14 = add i64 %13, 1199 store i64 %14, ptr @__llvm_gcov_ctr.160, align 8, !pcsections !0200 %15 = load i64, ptr @__llvm_gcov_ctr.156, align 8, !pcsections !0201 %16 = add i64 %15, 1202 store i64 %16, ptr @__llvm_gcov_ctr.156, align 8, !pcsections !0203 %17 = load i64, ptr @__llvm_gcov_ctr.157, align 8, !pcsections !0204 %18 = add i64 %17, 1205 store i64 %18, ptr @__llvm_gcov_ctr.157, align 8, !pcsections !0206 %19 = load i64, ptr @__llvm_gcov_ctr.161, align 8, !pcsections !0207 %20 = add i64 %19, 1208 store i64 %20, ptr @__llvm_gcov_ctr.161, align 8, !pcsections !0209 210 %21 = load i64, ptr @__llvm_gcov_ctr.1109, align 8, !pcsections !0211 %22 = add i64 %21, 1212 store i64 %22, ptr @__llvm_gcov_ctr.1109, align 8, !pcsections !0213 %23 = load i64, ptr @__llvm_gcov_ctr.1112, align 8, !pcsections !0214 %24 = add i64 %23, 1215 store i64 %24, ptr @__llvm_gcov_ctr.1112, align 8, !pcsections !0216 %25 = load i64, ptr @__llvm_gcov_ctr.1113, align 8, !pcsections !0217 %26 = add i64 %25, 1218 store i64 %26, ptr @__llvm_gcov_ctr.1113, align 8, !pcsections !0219 %27 = load i64, ptr @__llvm_gcov_ctr.1154, align 8, !pcsections !0220 %28 = add i64 %27, 1221 store i64 %28, ptr @__llvm_gcov_ctr.1154, align 8, !pcsections !0222 %29 = load i64, ptr @__llvm_gcov_ctr.1155, align 8, !pcsections !0223 %30 = add i64 %29, 1224 store i64 %30, ptr @__llvm_gcov_ctr.1155, align 8, !pcsections !0225 %31 = load i64, ptr @__llvm_gcov_ctr.189, align 8, !pcsections !0226 %32 = add i64 %31, 1227 store i64 %32, ptr @__llvm_gcov_ctr.189, align 8, !pcsections !0228 %33 = load i64, ptr @__llvm_gcov_ctr.1160, align 8, !pcsections !0229 %34 = add i64 %33, 1230 store i64 %34, ptr @__llvm_gcov_ctr.1160, align 8, !pcsections !0231 %35 = load i64, ptr @__llvm_gcov_ctr.1156, align 8, !pcsections !0232 %36 = add i64 %35, 1233 store i64 %36, ptr @__llvm_gcov_ctr.1156, align 8, !pcsections !0234 %37 = load i64, ptr @__llvm_gcov_ctr.1157, align 8, !pcsections !0235 %38 = add i64 %37, 1236 store i64 %38, ptr @__llvm_gcov_ctr.1157, align 8, !pcsections !0237 %39 = load i64, ptr @__llvm_gcov_ctr.1161, align 8, !pcsections !0238 %40 = add i64 %39, 1239 store i64 %40, ptr @__llvm_gcov_ctr.1161, align 8, !pcsections !0240 241 ret void242}243 244!0 = !{!"foo"}245