xref: /PHP-8.1/ext/opcache/tests/opt/dce_001.phpt (revision e9f783fc)
1--TEST--
2DCE 001: Remove dead computation after constants propagation
3--INI--
4opcache.enable=1
5opcache.enable_cli=1
6opcache.optimization_level=-1
7opcache.opt_debug_level=0x20000
8opcache.preload=
9--EXTENSIONS--
10opcache
11--FILE--
12<?php
13function foo(string $s1, string $s2, string $s3, string $s4) {
14    $x = ($s1 . $s2) . ($s3 . $s4);
15    $x = 0;
16    return $x;
17}
18?>
19--EXPECTF--
20$_main:
21     ; (lines=1, args=0, vars=0, tmps=0)
22     ; (after optimizer)
23     ; %sdce_001.php:1-8
240000 RETURN int(1)
25
26foo:
27     ; (lines=5, args=4, vars=4, tmps=0)
28     ; (after optimizer)
29     ; %sdce_001.php:2-6
300000 CV0($s1) = RECV 1
310001 CV1($s2) = RECV 2
320002 CV2($s3) = RECV 3
330003 CV3($s4) = RECV 4
340004 RETURN int(0)
35