Enforce stable order for dominated phi variables.

This commit is contained in:
Hans-Kristian Arntzen 2017-11-22 13:20:17 +01:00
Родитель c52776af78
Коммит 7238e57933
6 изменённых файлов: 10 добавлений и 7 удалений

Просмотреть файл

@ -18,8 +18,8 @@ fragment main0_out main0()
float4 _20;
float4 _21;
float4 _38;
float4 _52;
float4 _51;
float4 _52;
_51 = _50;
for (;;)
{

Просмотреть файл

@ -43,8 +43,8 @@ kernel void main0(uint3 gl_GlobalInvocationID [[thread_position_in_grid]], devic
uint _186;
if (_24.in_data[gl_GlobalInvocationID.x].y == 20.0)
{
uint _184;
int _183;
uint _184;
_183 = 0;
_184 = 0u;
for (;;)

Просмотреть файл

@ -31,8 +31,8 @@ kernel void main0(uint3 gl_GlobalInvocationID [[thread_position_in_grid]], devic
uint _73;
int _83;
_30 = _24.in_data[gl_GlobalInvocationID.x];
int _94;
float4 _93;
int _94;
_93 = _30;
_94 = 0;
for (;;)
@ -55,8 +55,8 @@ kernel void main0(uint3 gl_GlobalInvocationID [[thread_position_in_grid]], devic
int _96;
_95 = _93;
_96 = _40;
uint _101;
float4 _100;
uint _101;
for (uint _97 = 0u, _99 = _98; _97 < 16u; _75 = _97 + uint(1), _77 = _96 + 1, _95 = _100, _96 = _77, _97 = _75, _99 = _101)
{
_100 = _95;

Просмотреть файл

@ -11,8 +11,8 @@ void main()
vec4 _20;
vec4 _21;
vec4 _38;
vec4 _52;
vec4 _51;
vec4 _52;
_51 = _50;
for (;;)
{

Просмотреть файл

@ -29,8 +29,8 @@ void main()
uint _73;
int _83;
_30 = _24.in_data[gl_GlobalInvocationID.x];
int _94;
vec4 _93;
int _94;
_93 = _30;
_94 = 0;
for (;;)
@ -53,8 +53,8 @@ void main()
int _96;
_95 = _93;
_96 = _40;
uint _101;
vec4 _100;
uint _101;
for (uint _97 = 0u, _99 = _98; _97 < 16u; _75 = _97 + uint(1), _77 = _96 + 1, _95 = _100, _96 = _77, _97 = _75, _99 = _101)
{
_100 = _95;

Просмотреть файл

@ -7900,6 +7900,9 @@ bool CompilerGLSL::attempt_emit_loop_header(SPIRBlock &block, SPIRBlock::Method
void CompilerGLSL::flush_undeclared_variables(SPIRBlock &block)
{
// Enforce declaration order for regression testing purposes.
sort(begin(block.dominated_variables), end(block.dominated_variables));
for (auto &v : block.dominated_variables)
{
auto &var = get<SPIRVariable>(v);