testsuite: Add testcases for already fixed PR [PR100541]

These testcases started failing with r12-630 and one of them
got fixed with r12-4531 (aka PR102764 fix and r12-4616 further
improved the fix) and the other went latent in r12-2591 (i.e. threader
changes) and I believe was fixed for real by the PR102764 fix too.

2022-03-02  Jakub Jelinek  <jakub@redhat.com>

	PR debug/100541
	* g++.dg/opt/pr100541-1.C: New test.
	* g++.dg/opt/pr100541-2.C: New test.
This commit is contained in:
Jakub Jelinek 2022-03-02 10:38:39 +01:00
parent 31702fe969
commit 5f2e72db8c
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,24 @@
// PR debug/100541
// { dg-do compile }
// { dg-options "-O3 -fno-expensive-optimizations -fno-tree-dce -fno-tree-dominator-opts -fcompare-debug" }
int a, b, i, x, y;
int
foo ()
{
int rcmd = 0;
switch (x) {
case 0:
if (i)
rcmd = 6;
if (y % 3)
int &m1 = rcmd = rcmd | 5;
break;
case 1:
rcmd = b;
}
if (rcmd != 7)
return rcmd;
return a;
}

View File

@ -0,0 +1,25 @@
// PR debug/100541
// { dg-do compile { target c++11 } }
// { dg-options "-O2 -fno-tree-dce -fno-tree-dominator-opts -fcompare-debug" }
int INVALID_TILE;
void GetSlopePixelZ();
long RUNWAY_IN_block;
struct Airport {
long flags;
};
struct Station {
Airport airport;
} * HandleCrashedAircraft_st;
short HandleCrashedAircraft_v_0;
void HandleCrashedAircraft() {
Station *__trans_tmp_1 = INVALID_TILE ? nullptr : HandleCrashedAircraft_st,
*st;
if (HandleCrashedAircraft_v_0 && __trans_tmp_1 == nullptr &&
HandleCrashedAircraft_v_0 % 3)
GetSlopePixelZ();
if (HandleCrashedAircraft_v_0)
GetSlopePixelZ();
if (__trans_tmp_1)
st->airport.flags &= RUNWAY_IN_block;
}