2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR middle-end/22141
* Makefile.in (OBJS): Add gimple-ssa-store-merging.o.
* common.opt (fstore-merging): New Optimization option.
* opts.c (default_options_table): Add entry for
OPT_ftree_store_merging.
* fold-const.h (can_native_encode_type_p): Declare prototype.
* fold-const.c (can_native_encode_type_p): Define.
* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define.
(PARAM_MAX_STORES_TO_MERGE): Likewise.
* timevar.def (TV_GIMPLE_STORE_MERGING): New timevar.
* passes.def: Insert pass_tree_store_merging.
* tree-pass.h (make_pass_store_merging): Declare extern
prototype.
* gimple-ssa-store-merging.c: New file.
* doc/invoke.texi (Optimization Options): Document
-fstore-merging.
(--param documentation): Document store-merging-allow-unaligned
and max-stores-to-merge.
2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Jakub Jelinek <jakub@redhat.com>
Andrew Pinski <pinskia@gmail.com>
PR middle-end/22141
PR rtl-optimization/23684
* gcc.c-torture/execute/pr22141-1.c: New test.
* gcc.c-torture/execute/pr22141-2.c: Likewise.
* gcc.target/aarch64/ldp_stp_1.c: Adjust for -fstore-merging.
* gcc.target/aarch64/ldp_stp_4.c: Likewise.
* gcc.dg/store_merging_1.c: New test.
* gcc.dg/store_merging_2.c: Likewise.
* gcc.dg/store_merging_3.c: Likewise.
* gcc.dg/store_merging_4.c: Likewise.
* gcc.dg/store_merging_5.c: Likewise.
* gcc.dg/store_merging_6.c: Likewise.
* gcc.dg/store_merging_7.c: Likewise.
* gcc.target/i386/pr22141.c: Likewise.
* gcc.target/i386/pr34012.c: Add -fno-store-merging to dg-options.
* g++.dg/init/new17.C: Likewise.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r241649
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| DRs | Loading commit data... | |
| abi | Loading commit data... | |
| asan | Loading commit data... | |
| bprob | Loading commit data... | |
| charset | Loading commit data... | |
| cilk-plus | Loading commit data... | |
| compat | Loading commit data... | |
| concepts | Loading commit data... | |
| conversion | Loading commit data... | |
| cpp | Loading commit data... | |
| cpp0x | Loading commit data... | |
| cpp1y | Loading commit data... | |
| cpp1z | Loading commit data... | |
| debug | Loading commit data... | |
| delayedfold | Loading commit data... | |
| dfp | Loading commit data... | |
| diagnostic | Loading commit data... | |
| eh | Loading commit data... | |
| expr | Loading commit data... | |
| ext | Loading commit data... | |
| gcov | Loading commit data... | |
| goacc | Loading commit data... | |
| goacc-gomp | Loading commit data... | |
| gomp | Loading commit data... | |
| graphite | Loading commit data... | |
| guality | Loading commit data... | |
| inherit | Loading commit data... | |
| init | Loading commit data... | |
| ipa | Loading commit data... | |
| lookup | Loading commit data... | |
| lto | Loading commit data... | |
| opt | Loading commit data... | |
| other | Loading commit data... | |
| overload | Loading commit data... | |
| parse | Loading commit data... | |
| pch | Loading commit data... | |
| plugin | Loading commit data... | |
| rtti | Loading commit data... | |
| simulate-thread | Loading commit data... | |
| special | Loading commit data... | |
| tc1 | Loading commit data... | |
| template | Loading commit data... | |
| tls | Loading commit data... | |
| tm | Loading commit data... | |
| torture | Loading commit data... | |
| tree-prof | Loading commit data... | |
| tree-ssa | Loading commit data... | |
| tsan | Loading commit data... | |
| ubsan | Loading commit data... | |
| vect | Loading commit data... | |
| warn | Loading commit data... | |
| 20090107-1.C | Loading commit data... | |
| 20090121-1.C | Loading commit data... | |
| README | Loading commit data... | |
| Wattributes.C | Loading commit data... | |
| Wframe-address-in-Wall.C | Loading commit data... | |
| Wframe-address.C | Loading commit data... | |
| Wno-frame-address.C | Loading commit data... | |
| Wshadow.C | Loading commit data... | |
| addr_builtin-1.C | Loading commit data... | |
| cdce3.C | Loading commit data... | |
| conflict-markers-1.C | Loading commit data... | |
| constexpr-null1.C | Loading commit data... | |
| dg.exp | Loading commit data... | |
| fstack-protector-strong.C | Loading commit data... | |
| func-args-1.C | Loading commit data... | |
| header.C | Loading commit data... | |
| pr37742.C | Loading commit data... | |
| pr44328.C | Loading commit data... | |
| pr44486.C | Loading commit data... | |
| pr45038.C | Loading commit data... | |
| pr45049-1.C | Loading commit data... | |
| pr45049-2.C | Loading commit data... | |
| pr45056.C | Loading commit data... | |
| pr45112.C | Loading commit data... | |
| pr45310.C | Loading commit data... | |
| pr45330.C | Loading commit data... | |
| pr45788.C | Loading commit data... | |
| pr46065.C | Loading commit data... | |
| pr46852.C | Loading commit data... | |
| pr46868.C | Loading commit data... | |
| pr46890.C | Loading commit data... | |
| pr47053.C | Loading commit data... | |
| pr47589.C | Loading commit data... | |
| pr48484.C | Loading commit data... | |
| pr48633.C | Loading commit data... | |
| pr48660.C | Loading commit data... | |
| pr48772.C | Loading commit data... | |
| pr49718.C | Loading commit data... | |
| pr49847.C | Loading commit data... | |
| pr50672.C | Loading commit data... | |
| pr50763-3.C | Loading commit data... | |
| pr50763-4.C | Loading commit data... | |
| pr51264-4.C | Loading commit data... | |
| pr53055.C | Loading commit data... | |
| pr54442.C | Loading commit data... | |
| pr54655.C | Loading commit data... | |
| pr55106.C | Loading commit data... | |
| pr55263.C | Loading commit data... | |
| pr55513.C | Loading commit data... | |
| pr55604.C | Loading commit data... | |
| pr57175.C | Loading commit data... | |
| pr57662.C | Loading commit data... | |
| pr57878.C | Loading commit data... | |
| pr58123.C | Loading commit data... | |
| pr58389.C | Loading commit data... | |
| pr58438.C | Loading commit data... | |
| pr58950.C | Loading commit data... | |
| pr59445.C | Loading commit data... | |
| pr59477.C | Loading commit data... | |
| pr59482.C | Loading commit data... | |
| pr59510.C | Loading commit data... | |
| pr59695.C | Loading commit data... | |
| pr60518.C | Loading commit data... | |
| pr60969.C | Loading commit data... | |
| pr61033.C | Loading commit data... | |
| pr61094.C | Loading commit data... | |
| pr61289-2.C | Loading commit data... | |
| pr61289.C | Loading commit data... | |
| pr61324.C | Loading commit data... | |
| pr62079.C | Loading commit data... | |
| pr62314-2.C | Loading commit data... | |
| pr62314.C | Loading commit data... | |
| pr63384.C | Loading commit data... | |
| pr63766.C | Loading commit data... | |
| pr63995-1.C | Loading commit data... | |
| pr64037.C | Loading commit data... | |
| pr64191.C | Loading commit data... | |
| pr64353.C | Loading commit data... | |
| pr64688-2.C | Loading commit data... | |
| pr64688.C | Loading commit data... | |
| pr65032.C | Loading commit data... | |
| pr65049.C | Loading commit data... | |
| pr65240-1.C | Loading commit data... | |
| pr65240-2.C | Loading commit data... | |
| pr65240-3.C | Loading commit data... | |
| pr65240-4.C | Loading commit data... | |
| pr65240.h | Loading commit data... | |
| pr65242.C | Loading commit data... | |
| pr65295.C | Loading commit data... | |
| pr66655.C | Loading commit data... | |
| pr66655.h | Loading commit data... | |
| pr66655_1.cc | Loading commit data... | |
| pr66866.C | Loading commit data... | |
| pr67211.C | Loading commit data... | |
| pr67351.C | Loading commit data... | |
| pr67405.C | Loading commit data... | |
| pr67666.C | Loading commit data... | |
| pr67671.C | Loading commit data... | |
| pr67699.C | Loading commit data... | |
| pr67876.C | Loading commit data... | |
| pr67989.C | Loading commit data... | |
| pr68062.C | Loading commit data... | |
| pr68392.C | Loading commit data... | |
| pr68449.C | Loading commit data... | |
| pr68770.C | Loading commit data... | |
| pr68831.C | Loading commit data... | |
| pr68991-1.C | Loading commit data... | |
| pr68991-2.C | Loading commit data... | |
| pr69113.C | Loading commit data... | |
| pr69123.C | Loading commit data... | |
| pr69379.C | Loading commit data... | |
| pr69667.C | Loading commit data... | |
| pr70098.C | Loading commit data... | |
| pr70590-2.C | Loading commit data... | |
| pr70590.C | Loading commit data... | |
| pr71184.C | Loading commit data... | |
| pr71389.C | Loading commit data... | |
| pr71488.C | Loading commit data... | |
| pr71624.C | Loading commit data... | |
| pr71633.C | Loading commit data... | |
| pr71655.C | Loading commit data... | |
| pr77427.C | Loading commit data... | |
| pr77550.C | Loading commit data... | |
| pr78060.C | Loading commit data... | |
| pr78088.C | Loading commit data... | |
| predict-loop-exit-1.C | Loading commit data... | |
| predict-loop-exit-2.C | Loading commit data... | |
| predict-loop-exit-3.C | Loading commit data... | |
| prof-robust-1.C | Loading commit data... | |
| pubtypes.C | Loading commit data... | |
| spellcheck-fields-2.C | Loading commit data... | |
| spellcheck-fields.C | Loading commit data... | |
| spellcheck-identifiers-2.C | Loading commit data... | |
| spellcheck-identifiers.C | Loading commit data... | |
| spellcheck-typenames.C | Loading commit data... | |
| stackprotectexplicit2.C | Loading commit data... | |
| system-binary-constants-1.C | Loading commit data... | |
| system-binary-constants-1.h | Loading commit data... | |
| uninit-pred-1_a.C | Loading commit data... | |
| uninit-pred-1_b.C | Loading commit data... | |
| uninit-pred-2_a.C | Loading commit data... | |
| uninit-pred-2_b.C | Loading commit data... | |
| uninit-pred-3_a.C | Loading commit data... | |
| uninit-pred-3_b.C | Loading commit data... | |
| uninit-pred-4.C | Loading commit data... | |
| uninit-pred-loop-1_a.cc | Loading commit data... | |
| uninit-pred-loop-1_b.cc | Loading commit data... | |
| uninit-pred-loop-1_c.cc | Loading commit data... | |
| uninit-pred-loop_1.cc | Loading commit data... |