1 ; RUN: opt %loadNPMPolly -polly-process-unprofitable -passes=polly-codegen -S < %s | FileCheck %s
4 ; %synthgep caused %gep to be synthesized in subregion_if which was reused for
5 ; %retval in subregion_exit, even though it is not dominating subregion_exit.
7 ; CHECK-LABEL: polly.stmt.polly.merge_new_and_old.exit:
8 ; CHECK: %scevgep[[R1:[0-9]*]] = getelementptr i8, ptr %arg, i64 16
9 ; CHECK: store ptr %scevgep[[R1]], ptr %gep.s2a
12 %struct.hoge = type { double, double, double }
14 define double @func(ptr %arg) {
16 br label %subregion_entry
19 %gep = getelementptr inbounds %struct.hoge, ptr %arg, i64 0, i32 2
20 %cond = fcmp ogt double undef, undef
21 br i1 %cond, label %subregion_if, label %subregion_exit
24 %synthgep = load double, ptr %gep
25 br label %subregion_exit
28 %retval = load double, ptr %gep