blob: 260a2b6e78c914413de4a947b9464314e53b11f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
2015-12-09 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/nvptx.c (nvptx_output_call_insn): Handle COND_EXEC
patterns. Emit instruction predicate.
(nvptx_print_operand): Unbreak handling of instruction predicates.
* config/nvptx/nvptx.md (predicable): New attribute. Generate
predicated forms via define_cond_exec.
(br_true): Mark as not predicable.
(br_false): Ditto.
(br_true_uni): Ditto.
(br_false_uni): Ditto.
(return): Ditto.
(trap_if_true): Ditto.
(trap_if_false): Ditto.
(nvptx_fork): Ditto.
(nvptx_forked): Ditto.
(nvptx_joining): Ditto.
(nvptx_join): Ditto.
(nvptx_barsync): Ditto.
2015-12-09 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/nvptx.c: (need_softstack_decl): New variable.
(nvptx_declare_function_name): Handle TARGET_SOFT_STACK.
(nvptx_output_return): Emit stack restore if needed.
(nvptx_file_end): Handle need_softstack_decl.
* config/nvptx/nvptx.h: (TARGET_CPU_CPP_BUILTINS): Define
__nvptx_softstack__ when -msoft-stack is active.
(struct machine_function): New bool field using_softstack.
* config/nvptx/nvptx.opt: (msoft-stack): New option.
* doc/invoke.texi (msoft-stack): Document.
2015-12-08 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/nvptx.c: (write_omp_entry): New. Use it...
(nvptx_declare_function_name): ...here to emit pointers for libgomp.
2015-12-08 Alexander Monakov <amonakov@ispras.ru>
* omp-low.c (create_omp_child_function): Set "omp target entrypoint",
"omp acc target entrypoint" or "omp declare target" attribute based on
is_gimple_omp_offloaded and is_gimple_omp_oacc.
* config/nvptx/nvptx.c (write_as_kernel): Test OpenACC-specific
attribute "omp acc target entrypoint". Add a comment about the OpenMP
attribute handling.
2015-12-08 Alexander Monakov <amonakov@ispras.ru>
* config/nvptx/mkoffload.c (main): Allow -fopenmp.
|