This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH v2 00/13] Address space support for x86
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: richard dot guenther at gmail dot com
- Date: Tue, 20 Oct 2015 11:27:00 -1000
- Subject: [PATCH v2 00/13] Address space support for x86
- Authentication-results: sourceware.org; auth=none
Changes since v1:
* Documentation for __seg_* and __SEG_*.
* Add a couple more test cases, suggested by comments on v1.
* Fix operands_equal_p and cselib wrt address spaces.
* Emit DW_AT_segment for x86 segments.
I think this includes all of the feedback from v1, except wrt
PR66768, which I'll probably defer to Bin Cheng in the end.
r~
Richard Henderson (13):
Change default of non-overlapping address space conversion
Relax ADDR_SPACE_GENERIC_P checks for default address space hooks
i386: Handle address spaces in movabs patterns
i386: Disallow address spaces with string insns
i386: Add address spaces for fs/gs segments
i386: Replace ix86_address_seg with addr_space_t
i386: Add address space for tls
Add TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID
Fix PR 66768
Avoid CSE of MEMs in different address spaces
Test case for conversion from __seg_tls:0
Document the x86 address spaces
Add hook for modifying debug info for address spaces
gcc/config/i386/i386-c.c | 8 +
gcc/config/i386/i386-protos.h | 8 +-
gcc/config/i386/i386.c | 317 +++++++++++++++++++--------
gcc/config/i386/i386.h | 3 +-
gcc/config/i386/i386.md | 91 ++++++--
gcc/config/i386/predicates.md | 8 +-
gcc/config/i386/rdos.h | 2 +-
gcc/cselib.c | 22 +-
gcc/doc/extend.texi | 46 +++-
gcc/doc/tm.texi | 12 +
gcc/doc/tm.texi.in | 4 +
gcc/dwarf2out.c | 48 ++--
gcc/expr.c | 30 ++-
gcc/fold-const.c | 20 +-
gcc/gimple.c | 12 +-
gcc/target.def | 19 ++
gcc/targhooks.c | 56 +++--
gcc/targhooks.h | 2 +
gcc/testsuite/gcc.target/i386/addr-space-1.c | 11 +
gcc/testsuite/gcc.target/i386/addr-space-2.c | 11 +
gcc/testsuite/gcc.target/i386/addr-space-3.c | 10 +
gcc/tree-ssa-address.c | 2 +-
22 files changed, 548 insertions(+), 194 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/i386/addr-space-1.c
create mode 100644 gcc/testsuite/gcc.target/i386/addr-space-2.c
create mode 100644 gcc/testsuite/gcc.target/i386/addr-space-3.c
--
2.4.3