1659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#!/bin/bash
2659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#
3659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# This file was generated by create_test_cases.py.
4659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry#
5659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# Test lowering of returns when there is one nested inside a
6659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# complex structure of ifs, and one at the end of a function.
7659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# In this case, the latter return needs to be lowered because it
8659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# will not be at the end of the function once the final return
9659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry# is inserted.
10659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry../../glsl_test optpass --quiet --input-ir 'do_lower_jumps(0, 1, 0, 0, 0)' <<EOF
11659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry((declare (in) float a) (declare (in) float b)
12659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry (function sub
13659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry  (signature float (parameters)
14659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry   ((if (expression bool > (var_ref a) (constant float (0.000000)))
15659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ((if (expression bool > (var_ref b) (constant float (0.000000)))
16659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ((return (constant float (1.000000))))
17659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry       ()))
18659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry     ())
19659cdedb532e675da5676d40ee39278aadd8f0a1Paul Berry    (return (constant float (2.000000)))))))
20659cdedb532e675da5676d40ee39278aadd8f0a1Paul BerryEOF
21