; RUN: opt < %s -basic-aa -gvn -S | FileCheck %s ; PR2503 @g_3 = external global i8 ; <i8*> [#uses=2] define i8 @func_1(i32 %x, i32 %y) nounwind { entry: %A = alloca i8 %cmp = icmp eq i32 %x, %y br i1 %cmp, label %ifelse, label %ifthen ifthen: ; preds = %entry br label %ifend ifelse: ; preds = %entry %tmp3 = load i8, i8* @g_3 ; <i8> [#uses=0] store i8 %tmp3, i8* %A br label %afterfor forcond: ; preds = %forinc br i1 false, label %afterfor, label %forbody forbody: ; preds = %forcond br label %forinc forinc: ; preds = %forbody br label %forcond afterfor: ; preds = %forcond, %forcond.thread %tmp10 = load i8, i8* @g_3 ; <i8> [#uses=0] ret i8 %tmp10 ; CHECK: ret i8 %tmp3 ifend: ; preds = %afterfor, %ifthen ret i8 0 }