1dae34463SAndrew Litteken; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 29dd9575cSRoman Lebedev; RUN: opt -S -passes=verify,iroutliner -ir-outlining-no-cost < %s | FileCheck %s 3dae34463SAndrew Litteken 4dae34463SAndrew Litteken@global1 = global i32 1, align 4 5dae34463SAndrew Litteken@global2 = global i32 2, align 4 6dae34463SAndrew Litteken 7dae34463SAndrew Litteken; This test looks at the globals in the regions, and if it they are the 8dae34463SAndrew Litteken; same it outlines the region without elevating the globals to arguments. 9dae34463SAndrew Litteken 10dae34463SAndrew Littekendefine void @outline_globals1() { 11dae34463SAndrew Litteken; CHECK-LABEL: @outline_globals1( 12dae34463SAndrew Litteken; CHECK-NEXT: entry: 137c6f28a4SAndrew Litteken; CHECK-NEXT: call void @outlined_ir_func_0() 14dae34463SAndrew Litteken; CHECK-NEXT: ret void 15dae34463SAndrew Litteken; 16dae34463SAndrew Littekenentry: 17*f4b925eeSMatt Arsenault %0 = load i32, ptr @global1 18*f4b925eeSMatt Arsenault %1 = load i32, ptr @global2 19dae34463SAndrew Litteken %2 = add i32 %0, %1 20dae34463SAndrew Litteken ret void 21dae34463SAndrew Litteken} 22dae34463SAndrew Litteken 23dae34463SAndrew Littekendefine void @outline_globals2() { 24dae34463SAndrew Litteken; CHECK-LABEL: @outline_globals2( 25dae34463SAndrew Litteken; CHECK-NEXT: entry: 267c6f28a4SAndrew Litteken; CHECK-NEXT: call void @outlined_ir_func_0() 27dae34463SAndrew Litteken; CHECK-NEXT: ret void 28dae34463SAndrew Litteken; 29dae34463SAndrew Littekenentry: 30*f4b925eeSMatt Arsenault %0 = load i32, ptr @global1 31*f4b925eeSMatt Arsenault %1 = load i32, ptr @global2 32dae34463SAndrew Litteken %2 = add i32 %0, %1 33dae34463SAndrew Litteken ret void 34dae34463SAndrew Litteken} 35dae34463SAndrew Litteken 367c6f28a4SAndrew Litteken; CHECK: define internal void @outlined_ir_func_0() 37dae34463SAndrew Litteken; CHECK: entry_to_outline: 38*f4b925eeSMatt Arsenault; CHECK-NEXT: [[TMP1:%.*]] = load i32, ptr @global1, align 4 39*f4b925eeSMatt Arsenault; CHECK-NEXT: [[TMP2:%.*]] = load i32, ptr @global2, align 4 40dae34463SAndrew Litteken; CHECK-NEXT: [[ADD:%.*]] = add i32 [[TMP1]], [[TMP2]] 41dae34463SAndrew Litteken 42