Mark symbols as constant
commitbd6fe60df8e5059d3bd0cd23ef99d81036b28f40
authorwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jun 2017 10:40:21 +0000 (21 10:40 +0000)
committerwilco <wilco@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Jun 2017 10:40:21 +0000 (21 10:40 +0000)
tree75e5d4aa2430008c006906269cdaa5febd0dc848
parent0bf57487e7aeb4794d513e9d124c75cc707c65c7
Mark symbols as constant

Aarch64_legitimate_constant_p currently returns false for symbols,
eventhough they are always valid constants.  This means LOSYM isn't
CSEd correctly.  If we return true CSE works better, resulting in
smaller/faster code (0.3% smaller code on SPEC2006).  Avoid this
for TLS symbols since their sequence is complex.

    gcc/
* config/aarch64/aarch64.c (aarch64_legitimate_constant_p):
Return true for non-tls symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249442 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64.c