1659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#!/bin/bash
2659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#
3659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# This file was generated by create_test_cases.py.
4659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#
5659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# If both branches of an if statement end in a return, and
6659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# pull_out_jumps is True, then those returns should be lifted
7659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# outside the if and then properly lowered.
8659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# Verify that this lowering occurs during the same pass as the
9659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# lowering of other returns by checking that extra temporary
10659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# variables aren't generated.
11659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry../../glsl_test optpass --quiet --input-ir 'do_lower_jumps(1, 0, 1, 0, 0)' <<EOF
12659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry((declare (in) float aa) (declare (in) float ab) (declare (in) float b)
13659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry (declare (in) float c)
14659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry (function main
15659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry  (signature void (parameters)
16659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry   ((if (expression bool > (var_ref aa) (constant float (0.000000)))
17659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ((if (expression bool > (var_ref ab) (constant float (0.000000)))
18659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ((return))
19659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ()))
20659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ())
21659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry    (if (expression bool > (var_ref b) (constant float (0.000000)))
22659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ((if (expression bool > (var_ref c) (constant float (0.000000)))
23659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ((return))
24659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ((return))))
25659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ())))))
26659cdedb532e675da5676d40ee39278aadd8f0a1Paul BerryEOF
27