sccp_002.phpt 731 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. SCCP 002: Conditional Constant Propagation of non-escaping array elements
  3. --INI--
  4. opcache.enable=1
  5. opcache.enable_cli=1
  6. opcache.optimization_level=-1
  7. opcache.opt_debug_level=0x20000
  8. opcache.preload=
  9. --EXTENSIONS--
  10. opcache
  11. --FILE--
  12. <?php
  13. function foo(int $x) {
  14. $a = [$x];
  15. $i = 1;
  16. $c = $i < 2;
  17. if ($c) {
  18. $k = 2 * $i;
  19. $a[$k] = $i;
  20. echo $a[$k];
  21. }
  22. echo $a[2];
  23. }
  24. ?>
  25. --EXPECTF--
  26. $_main:
  27. ; (lines=1, args=0, vars=0, tmps=0)
  28. ; (after optimizer)
  29. ; %ssccp_002.php:1-14
  30. 0000 RETURN int(1)
  31. foo:
  32. ; (lines=4, args=1, vars=1, tmps=0)
  33. ; (after optimizer)
  34. ; %ssccp_002.php:2-12
  35. 0000 CV0($x) = RECV 1
  36. 0001 ECHO string("1")
  37. 0002 ECHO string("1")
  38. 0003 RETURN null