diff options
author | konglin1 <lingling.kong@intel.com> | 2022-09-20 13:58:35 +0800 |
---|---|---|
committer | konglin1 <lingling.kong@intel.com> | 2022-09-20 14:09:19 +0800 |
commit | 3a035f1932eeb26f997cf28a5c752617dd09cb91 (patch) | |
tree | 3d3f6a6e8da0fb99e414cee20b0cd1cb04b27cd5 /libjava/java/net/ProtocolException.java | |
parent | 90d3e27f3a6add0cd6892bdf07c6a2538bb709e4 (diff) | |
download | gcc-3a035f1932eeb26f997cf28a5c752617dd09cb91.zip gcc-3a035f1932eeb26f997cf28a5c752617dd09cb91.tar.gz gcc-3a035f1932eeb26f997cf28a5c752617dd09cb91.tar.bz2 |
middle-end: handle bitop with an invariant induction.[PR105735]
Enhance final_value_replacement_loop to handle bitop
with an invariant induction.
This patch will enable below optimization:
{
- long unsigned int bit;
-
- <bb 2> [local count: 32534376]:
-
- <bb 3> [local count: 1041207449]:
- # tmp_10 = PHI <tmp_7(5), tmp_4(D)(2)>
- # bit_12 = PHI <bit_8(5), 0(2)>
- tmp_7 = bit2_6(D) & tmp_10;
- bit_8 = bit_12 + 1;
- if (bit_8 != 32)
- goto <bb 5>; [96.97%]
- else
- goto <bb 4>; [3.03%]
-
- <bb 5> [local count: 1009658865]:
- goto <bb 3>; [100.00%]
-
- <bb 4> [local count: 32534376]:
- # tmp_11 = PHI <tmp_7(3)>
- return tmp_11;
+ tmp_11 = tmp_4 (D) & bit2_6 (D);
+ return tmp_11;
}
gcc/ChangeLog:
PR middle-end/105735
* tree-scalar-evolution.cc
(analyze_and_compute_bitop_with_inv_effect): New function.
(final_value_replacement_loop): Enhanced to handle bitop
with inv induction.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr105735-1.c: New test.
* gcc.target/i386/pr105735-2.c: New test.
Diffstat (limited to 'libjava/java/net/ProtocolException.java')
0 files changed, 0 insertions, 0 deletions