gcc/gcc/config
Alexander Monakov 0c6b03b515 OpenMP/PTX privatization in SIMD regions
* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
	(nvptx_output_simt_exit): Declare.
	* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
	cfun->machine->unisimt_location.  Handle NULL unisimt_predicate.
	(init_softstack_frame): Move initialization of crtl->is_leaf to...
	(nvptx_declare_function_name): ...here.  Emit declaration of local
	memory space buffer for omp_simt_enter insn.
	(nvptx_output_unisimt_switch): New.
	(nvptx_output_softstack_switch): New.
	(nvptx_output_simt_enter): New.
	(nvptx_output_simt_exit): New.
	* config/nvptx/nvptx.h (struct machine_function): New fields
	has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
	* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
	(UNSPECV_SIMT_EXIT): Ditto.
	(omp_simt_enter_insn): New insn.
	(omp_simt_enter): New expansion.
	(omp_simt_exit): New insn.
	* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.

	* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
	(expand_GOMP_SIMT_ENTER_ALLOC): New.
	(expand_GOMP_SIMT_EXIT): New.
	* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
	(GOMP_SIMT_ENTER_ALLOC): Ditto.
	(GOMP_SIMT_EXIT): Ditto.
	* target-insns.def (omp_simt_enter): New insn.
	(omp_simt_exit): Ditto.
	* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
	simt_dlist.
	(lower_rec_simd_input_clauses): Implement SIMT privatization.
	(lower_rec_input_clauses): Likewise.
	(lower_lastprivate_clauses): Handle SIMT privatization.

	* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
	(ompdevlow_adjust_simt_enter): New.
	(find_simtpriv_var_op): New.
	(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
	IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.

	* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
	* tree-inline.c (expand_call_inline): Handle SIMT privatization.
	(copy_decl_for_dup_finish): Ditto.

	* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.

From-SVN: r246550
2017-03-28 20:24:57 +03:00
..
aarch64 Recently we've put a lot of effort into improving ifcvt to use CSEL on AArch64. 2017-03-22 18:12:05 +00:00
alpha Update copyright years. 2017-01-01 13:07:43 +01:00
arc [ARC] Define _REENTRANT when -pthread is passed. 2017-03-28 10:56:44 +02:00
arm [ARM] PR target/71436: Restrict *load_multiple pattern till after LRA 2017-03-23 14:55:48 +00:00
avr avr.md (setmemhi): Make sure match_dup operand number comes before match_scratch. 2017-03-08 09:52:05 +01:00
bfin Update copyright years. 2017-01-01 13:07:43 +01:00
c6x c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop. 2017-03-15 13:36:50 +00:00
cr16 Update copyright years. 2017-01-01 13:07:43 +01:00
cris cris: Fix for RTL checking 2017-02-24 23:34:37 +01:00
epiphany re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test) 2017-02-07 11:29:06 +00:00
fr30 Update copyright years. 2017-01-01 13:07:43 +01:00
frv re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test) 2017-02-07 11:29:06 +00:00
ft32 Update copyright years. 2017-01-01 13:07:43 +01:00
h8300 Update copyright years. 2017-01-01 13:07:43 +01:00
i386 re PR target/53383 (Allow -mpreferred-stack-boundary=3 on x86-64) 2017-03-28 18:51:00 +02:00
ia64 Update copyright years. 2017-01-01 13:07:43 +01:00
iq2000 Update copyright years. 2017-01-01 13:07:43 +01:00
lm32 Update copyright years. 2017-01-01 13:07:43 +01:00
m32c Update copyright years. 2017-01-01 13:07:43 +01:00
m32r Update copyright years. 2017-01-01 13:07:43 +01:00
m68k re PR target/57583 (large switches with jump tables are horribly broken on m68k) 2017-01-06 14:21:02 -07:00
mcore Update copyright years. 2017-01-01 13:07:43 +01:00
microblaze Eliminate unneeded test. 2017-03-10 00:48:51 +00:00
mips Apply temporary fix for PR rtl-optimization/79150. 2017-03-21 14:00:19 +00:00
mmix Update copyright years. 2017-01-01 13:07:43 +01:00
mn10300 Update copyright years. 2017-01-01 13:07:43 +01:00
moxie Update copyright years. 2017-01-01 13:07:43 +01:00
msp430 Remove trailing period from various diagnostic messages (PR translation/79923) 2017-03-11 01:43:48 +00:00
nds32 PR target/79928 - nds32: misspelled diagnostic: not support -fpic 2017-03-08 16:29:42 -07:00
nios2 nios2.c (nios2_simple_const_p): Returns false if the argument isn't a CONST_INT. 2017-02-24 17:35:18 -05:00
nvptx OpenMP/PTX privatization in SIMD regions 2017-03-28 20:24:57 +03:00
pa PR target 77850 2017-03-06 22:48:53 +00:00
pdp11 pdp11.md (movmemhi): Adjust operand numbers to match_scratch operand is highest. 2017-03-13 11:43:19 -06:00
riscv RISC-V: Don't prefer FP_REGS for integers 2017-03-20 16:43:21 +00:00
rl78 Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000 re PR target/78543 (ICE in push_reload, at reload.c:1349 on powerpc64le-linux-gnu) 2017-03-27 19:19:00 +00:00
rx Update copyright years. 2017-01-01 13:07:43 +01:00
s390 S/390: arch12: New builtins. 2017-03-24 14:04:12 +00:00
sh sh: Fixes for RTL checking 2017-02-24 23:42:49 +01:00
sparc re PR target/79749 (Many sparc testcases FAIL at -O0 with -fomit-frame-pointer) 2017-02-28 22:15:54 +00:00
spu Update copyright years. 2017-01-01 13:07:43 +01:00
stormy16 Update copyright years. 2017-01-01 13:07:43 +01:00
tilegx re PR target/78862 (tile*: ICE with -fstack-protetor-strong) 2017-02-03 18:41:57 +00:00
tilepro re PR target/78862 (tile*: ICE with -fstack-protetor-strong) 2017-02-03 18:41:57 +00:00
v850 Update copyright years. 2017-01-01 13:07:43 +01:00
vax Update copyright years. 2017-01-01 13:07:43 +01:00
visium visium.md (type): Add trap. 2017-02-23 23:04:00 +00:00
vms Update copyright years. 2017-01-01 13:07:43 +01:00
xtensa Update copyright years. 2017-01-01 13:07:43 +01:00
README
darwin-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-driver.c darwin-driver.c (darwin_driver_init): Const-correctness fixes for first_period and second_period variables. 2017-01-02 22:36:40 -07:00
darwin-f.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-ppc-ldouble-patch.def Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-sections.def Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.h re PR driver/49726 (-g0 file.S -g does not produce debug info) 2017-01-16 22:33:07 +01:00
darwin.opt Update copyright years. 2017-01-01 13:07:43 +01:00
darwin9.h re PR driver/49726 (-g0 file.S -g does not produce debug info) 2017-01-16 22:33:07 +01:00
darwin10.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin12.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbx.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbxcoff.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbxelf.h Update copyright years. 2017-01-01 13:07:43 +01:00
default-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly.h Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly.opt Update copyright years. 2017-01-01 13:07:43 +01:00
elfos.h Update copyright years. 2017-01-01 13:07:43 +01:00
flat.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-nthr.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-spec.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
fuchsia.h fuchsia-elf.h: New file. 2017-01-10 18:00:43 +00:00
fused-madd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
g.opt Update copyright years. 2017-01-01 13:07:43 +01:00
glibc-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
glibc-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
gnu-user.h Update copyright years. 2017-01-01 13:07:43 +01:00
gnu-user.opt Update copyright years. 2017-01-01 13:07:43 +01:00
gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
host-darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-darwin.h Update copyright years. 2017-01-01 13:07:43 +01:00
host-hpux.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-linux.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-openbsd.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-solaris.c Update copyright years. 2017-01-01 13:07:43 +01:00
hpux-stdint.h
hpux11.opt Update copyright years. 2017-01-01 13:07:43 +01:00
initfini-array.h Update copyright years. 2017-01-01 13:07:43 +01:00
kfreebsd-gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
kopensolaris-gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux-android.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux-android.opt Update copyright years. 2017-01-01 13:07:43 +01:00
linux-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux.c Update copyright years. 2017-01-01 13:07:43 +01:00
linux.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux.opt Update copyright years. 2017-01-01 13:07:43 +01:00
lynx.h Update copyright years. 2017-01-01 13:07:43 +01:00
lynx.opt Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-elf.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-elf.opt Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
newlib-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd-libpthread.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd-stdint.h
openbsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
phoenix.h Update copyright years. 2017-01-01 13:07:43 +01:00
print-sysroot-suffix.sh Update copyright years. 2017-01-01 13:07:43 +01:00
rpath.opt Update copyright years. 2017-01-01 13:07:43 +01:00
rtems.h Update copyright years. 2017-01-01 13:07:43 +01:00
rtems.opt Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-clearcap.map
sol2-clearcapv2.map
sol2-cxx.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-stubs.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2.h Require C11 for C++17 on Solaris 2017-01-13 12:11:00 +00:00
sol2.opt Update copyright years. 2017-01-01 13:07:43 +01:00
t-darwin Update copyright years. 2017-01-01 13:07:43 +01:00
t-glibc Update copyright years. 2017-01-01 13:07:43 +01:00
t-libunwind Update copyright years. 2017-01-01 13:07:43 +01:00
t-linux Update copyright years. 2017-01-01 13:07:43 +01:00
t-lynx Update copyright years. 2017-01-01 13:07:43 +01:00
t-openbsd
t-pnt16-warn Update copyright years. 2017-01-01 13:07:43 +01:00
t-rtems
t-slibgcc
t-sol2 Update copyright years. 2017-01-01 13:07:43 +01:00
t-sysroot-suffix
t-vxworks Update copyright years. 2017-01-01 13:07:43 +01:00
t-winnt Update copyright years. 2017-01-01 13:07:43 +01:00
tm-dwarf2.h
usegas.h Update copyright years. 2017-01-01 13:07:43 +01:00
usegld.h
vx-common.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks-dummy.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.c Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.opt Update copyright years. 2017-01-01 13:07:43 +01:00
vxworksae.h Update copyright years. 2017-01-01 13:07:43 +01:00
winnt-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
x-cflags-O1
x-darwin
x-hpux
x-linux
x-openbsd
x-solaris

README

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.