Lines Matching +full:data +full:- +full:out
1 //===--- OpenACCKinds.h - OpenACC Enums -------------------------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 /// Defines some OpenACC-specific enums and functions.
12 //===----------------------------------------------------------------------===//
31 // Data Environment. "enter data" and "exit data" are also referred to in the
32 // Executable Directives section, but just as a back reference to the Data
34 Data,
70 inline StreamTy &printOpenACCDirectiveKind(StreamTy &Out,
74 return Out << "parallel";
77 return Out << "serial";
80 return Out << "kernels";
82 case OpenACCDirectiveKind::Data:
83 return Out << "data";
86 return Out << "enter data";
89 return Out << "exit data";
92 return Out << "host_data";
95 return Out << "loop";
98 return Out << "cache";
101 return Out << "parallel loop";
104 return Out << "serial loop";
107 return Out << "kernels loop";
110 return Out << "atomic";
113 return Out << "declare";
116 return Out << "init";
119 return Out << "shutdown";
122 return Out << "set";
125 return Out << "update";
128 return Out << "wait";
131 return Out << "routine";
134 return Out << "<invalid>";
139 inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &Out,
141 return printOpenACCDirectiveKind(Out, K);
144 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &Out,
146 return printOpenACCDirectiveKind(Out, K);
165 /// 'finalize' clause, allowed on 'exit data' directive.
184 /// 'if' clause, allowed on all the Compute Constructs, Data Constructs,
189 /// 'copy' clause, allowed on Compute and Combined Constructs, plus 'data' and
198 /// 'attach' clause, allowed on Compute and Combined constructs, plus 'data'
199 /// and 'enter data'.
201 /// 'delete' clause, allowed on the 'exit data' construct.
203 /// 'detach' clause, allowed on the 'exit data' construct.
208 /// 'data' and 'declare'.
220 /// plus 'data'.
222 /// 'present' clause, allowed on Compute and Combined constructs, plus 'data'
228 /// 'copyout' clause, allowed on Compute and Combined constructs, plus 'data',
229 /// 'exit data', and 'declare'.
236 /// 'copyin' clause, allowed on Compute and Combined constructs, plus 'data',
237 /// 'enter data', and 'declare'.
244 /// 'create' clause, allowed on Compute and Combined constructs, plus 'data',
245 /// 'enter data', and 'declare'.
272 /// 'device_type' clause, allowed on Compute, 'data', 'init', 'shutdown',
278 /// 'async' clause, allowed on Compute, Data, 'update', 'wait', and Combined
285 /// 'wait' clause, allowed on Compute, Data, 'update', and Combined
294 inline StreamTy &printOpenACCClauseKind(StreamTy &Out, OpenACCClauseKind K) {
297 return Out << "finalize";
300 return Out << "if_present";
303 return Out << "seq";
306 return Out << "independent";
309 return Out << "auto";
312 return Out << "worker";
315 return Out << "vector";
318 return Out << "nohost";
321 return Out << "default";
324 return Out << "if";
327 return Out << "self";
330 return Out << "copy";
333 return Out << "pcopy";
336 return Out << "present_or_copy";
339 return Out << "use_device";
342 return Out << "attach";
345 return Out << "delete";
348 return Out << "detach";
351 return Out << "device";
354 return Out << "deviceptr";
357 return Out << "device_resident";
360 return Out << "firstprivate";
363 return Out << "host";
366 return Out << "link";
369 return Out << "no_create";
372 return Out << "present";
375 return Out << "private";
378 return Out << "copyout";
381 return Out << "pcopyout";
384 return Out << "present_or_copyout";
387 return Out << "copyin";
390 return Out << "pcopyin";
393 return Out << "present_or_copyin";
396 return Out << "create";
399 return Out << "pcreate";
402 return Out << "present_or_create";
405 return Out << "reduction";
408 return Out << "collapse";
411 return Out << "bind";
414 return Out << "vector_length";
417 return Out << "num_gangs";
420 return Out << "num_workers";
423 return Out << "device_num";
426 return Out << "default_async";
429 return Out << "device_type";
432 return Out << "dtype";
435 return Out << "async";
438 return Out << "tile";
441 return Out << "gang";
444 return Out << "wait";
447 return Out << "<invalid>";
452 inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &Out,
454 return printOpenACCClauseKind(Out, K);
457 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &Out,
459 return printOpenACCClauseKind(Out, K);
472 inline StreamTy &printOpenACCDefaultClauseKind(StreamTy &Out,
476 return Out << "none";
478 return Out << "present";
480 return Out << "<invalid>";
485 inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &Out,
487 return printOpenACCDefaultClauseKind(Out, K);
490 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &Out,
492 return printOpenACCDefaultClauseKind(Out, K);
519 inline StreamTy &printOpenACCReductionOperator(StreamTy &Out,
523 return Out << "+";
525 return Out << "*";
527 return Out << "max";
529 return Out << "min";
531 return Out << "&";
533 return Out << "|";
535 return Out << "^";
537 return Out << "&&";
539 return Out << "||";
541 return Out << "<invalid>";
545 inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &Out,
547 return printOpenACCReductionOperator(Out, Op);
549 inline llvm::raw_ostream &operator<<(llvm::raw_ostream &Out,
551 return printOpenACCReductionOperator(Out, Op);