32 lines
832 B
Plaintext
32 lines
832 B
Plaintext
// Optimize edilmiş çalıştırmanın doğruluğunu kanıtlayan golden test.
|
||
//
|
||
// Tetiklenen optimizasyonlar:
|
||
// - Constant folding: 100 - 6*15 + 4, 3*3 + 4*4 derleme zamanında hesaplanır
|
||
// - DCE: return sonrası print(999) ve print(888) silinir
|
||
// - Folding zincirleme: iç fonksiyon çağrısı olmaksızın tüm sabit ifadeler katlanır
|
||
//
|
||
// saqut run ve saqut run --optimized AYNI çıktıyı vermeli.
|
||
// Eğer optimizasyon bir değeri yanlış katlarsa veya canlı kodu silerse bu test kırılır.
|
||
|
||
int compute() {
|
||
int result = 100 - 6 * 15 + 4;
|
||
return result;
|
||
print(999);
|
||
}
|
||
|
||
int classify(int n) {
|
||
if (n > 0) {
|
||
return 1;
|
||
print(888);
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
int main() {
|
||
print(compute());
|
||
print(classify(5));
|
||
print(classify(-3));
|
||
print(3 * 3 + 4 * 4);
|
||
return 0;
|
||
}
|