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

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: Update PNaClLangRef to reflect the implementation work I will now go forward with. 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 def int_nacl_atomic_8 : Intrinsic<[llvm_i8_ty],
511 [llvm_i32_ty, LLVMPointerType<llvm_i8_ty>,
512 llvm_i8_ty, llvm_i8_ty, llvm_i32_ty],
513 [IntrReadWriteArgMem]>;
514 def int_nacl_atomic_16 : Intrinsic<[llvm_i16_ty],
515 [llvm_i32_ty, LLVMPointerType<llvm_i16_ty>,
516 llvm_i16_ty, llvm_i16_ty, llvm_i32_ty],
517 [IntrReadWriteArgMem]>;
518 def int_nacl_atomic_32 : Intrinsic<[llvm_i32_ty],
519 [llvm_i32_ty, LLVMPointerType<llvm_i32_ty>,
520 llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
521 [IntrReadWriteArgMem]>;
522 def int_nacl_atomic_64 : Intrinsic<[llvm_i64_ty],
523 [llvm_i32_ty, LLVMPointerType<llvm_i64_ty>,
524 llvm_i64_ty, llvm_i64_ty, llvm_i32_ty],
525 [IntrReadWriteArgMem]>;
501 // @LOCALMOD-END 526 // @LOCALMOD-END
502 527
503 //===----------------------------------------------------------------------===// 528 //===----------------------------------------------------------------------===//
504 // Target-specific intrinsics 529 // Target-specific intrinsics
505 //===----------------------------------------------------------------------===// 530 //===----------------------------------------------------------------------===//
506 531
507 include "llvm/IR/IntrinsicsPowerPC.td" 532 include "llvm/IR/IntrinsicsPowerPC.td"
508 include "llvm/IR/IntrinsicsX86.td" 533 include "llvm/IR/IntrinsicsX86.td"
509 include "llvm/IR/IntrinsicsARM.td" 534 include "llvm/IR/IntrinsicsARM.td"
510 include "llvm/IR/IntrinsicsXCore.td" 535 include "llvm/IR/IntrinsicsXCore.td"
511 include "llvm/IR/IntrinsicsHexagon.td" 536 include "llvm/IR/IntrinsicsHexagon.td"
512 include "llvm/IR/IntrinsicsNVVM.td" 537 include "llvm/IR/IntrinsicsNVVM.td"
513 include "llvm/IR/IntrinsicsMips.td" 538 include "llvm/IR/IntrinsicsMips.td"
514 include "llvm/IR/IntrinsicsR600.td" 539 include "llvm/IR/IntrinsicsR600.td"
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698