Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(598)

Side by Side Diff: include/llvm/IR/Intrinsics.td

Issue 17777004: Concurrency support for PNaCl ABI (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Simplify overloading and function verification. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===- Intrinsics.td - Defines all LLVM intrinsics ---------*- tablegen -*-===// 1 //===- Intrinsics.td - Defines all LLVM intrinsics ---------*- tablegen -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file defines properties of all LLVM intrinsics. 10 // This file defines properties of all LLVM intrinsics.
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 def int_nacl_tp_tls_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, 491 def int_nacl_tp_tls_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>,
492 GCCBuiltin<"__builtin_nacl_tp_tls_offset">; 492 GCCBuiltin<"__builtin_nacl_tp_tls_offset">;
493 def int_nacl_tp_tdb_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, 493 def int_nacl_tp_tdb_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>,
494 GCCBuiltin<"__builtin_nacl_tp_tdb_offset">; 494 GCCBuiltin<"__builtin_nacl_tp_tdb_offset">;
495 495
496 // The following intrinsic provides a target-specific constant value to 496 // The following intrinsic provides a target-specific constant value to
497 // indicate the target platform compiled to. The enum values are enumerated 497 // indicate the target platform compiled to. The enum values are enumerated
498 // pnaclintrin.h. 498 // pnaclintrin.h.
499 def int_nacl_target_arch : Intrinsic<[llvm_i32_ty], []>, 499 def int_nacl_target_arch : Intrinsic<[llvm_i32_ty], []>,
500 GCCBuiltin<"__builtin_nacl_target_arch">; 500 GCCBuiltin<"__builtin_nacl_target_arch">;
501
502 // Atomic intrinsics.
503 //
504 // Volatiles and atomics are encoded through these intrinsics to make
505 // them platform-independent, remove some of LLVM's legacy, and isolate
506 // PNaCl from future changes to IR. The intrinsics allow user code to
507 // use `__sync_*` builtins as well as C11/C++11 atomics.
508 //
509 // These are further documented in docs/PNaClLangRef.rst.
510 //
511 // Note that IntrReadWriteArgMem is used it all cases to prevent
Derek Schuff 2013/07/02 22:13:17 s/it/in
JF 2013/07/02 23:14:54 Done.
512 // reordering.
513 def int_nacl_atomic_load : Intrinsic<[llvm_anyint_ty],
514 [LLVMPointerType<LLVMMatchType<0>>, llvm_i32_ty],
Mark Seaborn 2013/07/02 19:16:02 Can you comment the argument meanings here, please
JF 2013/07/02 23:14:54 The comment above says "These are further document
515 [IntrReadWriteArgMem]>;
516 def int_nacl_atomic_store : Intrinsic<[],
517 [llvm_anyint_ty, LLVMPointerType<LLVMMatchType<0>>, llvm_i32_ty],
518 [IntrReadWriteArgMem]>;
519 def int_nacl_atomic_rmw : Intrinsic<[llvm_anyint_ty],
520 [llvm_i32_ty, LLVMPointerType<LLVMMatchType<0>>, LLVMMatchType<0>,
521 llvm_i32_ty],
Mark Seaborn 2013/07/02 19:16:02 Indent by 1 more space since this is inside a list
JF 2013/07/02 23:14:54 Done, and below.
522 [IntrReadWriteArgMem]>;
523 def int_nacl_atomic_cmpxchg : Intrinsic<[llvm_anyint_ty],
524 [LLVMPointerType<LLVMMatchType<0>>, LLVMMatchType<0>, LLVMMatchType<0>,
525 llvm_i32_ty, llvm_i32_ty],
526 [IntrReadWriteArgMem]>;
527 def int_nacl_atomic_fence : Intrinsic<[], [llvm_i32_ty],
528 [IntrReadWriteArgMem]>;
501 // @LOCALMOD-END 529 // @LOCALMOD-END
502 530
503 //===----------------------------------------------------------------------===// 531 //===----------------------------------------------------------------------===//
504 // Target-specific intrinsics 532 // Target-specific intrinsics
505 //===----------------------------------------------------------------------===// 533 //===----------------------------------------------------------------------===//
506 534
507 include "llvm/IR/IntrinsicsPowerPC.td" 535 include "llvm/IR/IntrinsicsPowerPC.td"
508 include "llvm/IR/IntrinsicsX86.td" 536 include "llvm/IR/IntrinsicsX86.td"
509 include "llvm/IR/IntrinsicsARM.td" 537 include "llvm/IR/IntrinsicsARM.td"
510 include "llvm/IR/IntrinsicsXCore.td" 538 include "llvm/IR/IntrinsicsXCore.td"
511 include "llvm/IR/IntrinsicsHexagon.td" 539 include "llvm/IR/IntrinsicsHexagon.td"
512 include "llvm/IR/IntrinsicsNVVM.td" 540 include "llvm/IR/IntrinsicsNVVM.td"
513 include "llvm/IR/IntrinsicsMips.td" 541 include "llvm/IR/IntrinsicsMips.td"
514 include "llvm/IR/IntrinsicsR600.td" 542 include "llvm/IR/IntrinsicsR600.td"
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698