Used as labels similar to C goto structure.
; ModuleID = 'example.bc'
@.str = private unnamed_addr constant [3 x i8] c"%d\00", align 1
define i32 @main() nounwind uwtable {
entry:
%a = alloca i32, align 4
%1 = call i32 (i8*, ...)* @__isoc99_scanf(i8* getelementptr inbounds ([3 x i8]* @.str, i64 0, i64 0), i32* %a) nounwind
%2 = load i32* %a, align 4
%3 = icmp sgt i32 %2, 3
br i1 %3, label %then, label %else
then:
%4 = shl nsw i32 %2, 1
store i32 %4, i32* %a, align 4
br label %end
else:
br label %end
end:
ret i32 0
}