aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-05-05 09:40:01 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2017-05-05 09:40:01 +0000
commit9d29ae83ed27a06cdd729cd7f0cceb12c28b91dc (patch)
tree8e1a45a11552c8773d1770494a16e028b354522b /gcc/tree-vrp.c
parentdfae9048a0ce06a8f240dd17c282cb1e1eaf2097 (diff)
downloadgcc-9d29ae83ed27a06cdd729cd7f0cceb12c28b91dc.zip
gcc-9d29ae83ed27a06cdd729cd7f0cceb12c28b91dc.tar.gz
gcc-9d29ae83ed27a06cdd729cd7f0cceb12c28b91dc.tar.bz2
Code scheduling for Cortex-A53 isn't as good as it could be.
Code scheduling for Cortex-A53 isn't as good as it could be. It turns out code runs faster overall if we place loads and stores with a dependency closer together. To achieve this effect, this patch adds a bypass between cortex_a53_load1 and cortex_a53_load*/cortex_a53_store* if the result of an earlier load is used in an address calculation. This significantly improved benchmark scores in a proprietary benchmark suite. gcc/ * config/arm/aarch-common.c (arm_early_load_addr_dep_ptr): New function. (arm_early_store_addr_dep_ptr): Likewise. * config/arm/aarch-common-protos.h (arm_early_load_addr_dep_ptr): Add prototype. (arm_early_store_addr_dep_ptr): Likewise. * config/arm/cortex-a53.md: Add new bypasses. From-SVN: r247631
Diffstat (limited to 'gcc/tree-vrp.c')
0 files changed, 0 insertions, 0 deletions