OLD | NEW |
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 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
472 | 472 |
473 // @LOCALMOD-BEGIN | 473 // @LOCALMOD-BEGIN |
474 //===----------------------- Native Client Intrinsics ---------------------===// | 474 //===----------------------- Native Client Intrinsics ---------------------===// |
475 // NaCl-specific setjmp/longjmp intrinsics. | 475 // NaCl-specific setjmp/longjmp intrinsics. |
476 // See https://code.google.com/p/nativeclient/issues/detail?id=3429 | 476 // See https://code.google.com/p/nativeclient/issues/detail?id=3429 |
477 def int_nacl_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>; | 477 def int_nacl_setjmp : Intrinsic<[llvm_i32_ty], [llvm_ptr_ty]>; |
478 def int_nacl_longjmp : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty], | 478 def int_nacl_longjmp : Intrinsic<[], [llvm_ptr_ty, llvm_i32_ty], |
479 [IntrNoReturn]>; | 479 [IntrNoReturn]>; |
480 | 480 |
481 // Fast built-in version of NaCl's tls_get() IRT interface. | 481 // Fast built-in version of NaCl's tls_get() IRT interface. |
482 def int_nacl_read_tp : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>, | 482 def int_nacl_read_tp : Intrinsic<[llvm_ptr_ty], [], [IntrNoMem]>; |
483 GCCBuiltin<"__builtin_nacl_read_tp">; | |
484 | 483 |
485 // The following intrinsics provide target-specific implementations of | 484 // The following intrinsics provide target-specific implementations of |
486 // the interface in native_client/src/untrusted/nacl/tls_params.h. | 485 // the interface in native_client/src/untrusted/nacl/tls_params.h. |
487 // The intrinsic names are basically the functions there without the | 486 // The intrinsic names are basically the functions there without the |
488 // leading underscores. | 487 // leading underscores. |
489 def int_nacl_tp_tls_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, | 488 def int_nacl_tp_tls_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, |
490 GCCBuiltin<"__builtin_nacl_tp_tls_offset">; | 489 GCCBuiltin<"__builtin_nacl_tp_tls_offset">; |
491 def int_nacl_tp_tdb_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, | 490 def int_nacl_tp_tdb_offset : Intrinsic<[llvm_i32_ty], [llvm_i32_ty]>, |
492 GCCBuiltin<"__builtin_nacl_tp_tdb_offset">; | 491 GCCBuiltin<"__builtin_nacl_tp_tdb_offset">; |
493 | 492 |
494 // The following intrinsic provides a target-specific constant value to | 493 // The following intrinsic provides a target-specific constant value to |
495 // indicate the target platform compiled to. The enum values are enumerated | 494 // indicate the target platform compiled to. The enum values are enumerated |
496 // pnaclintrin.h. | 495 // pnaclintrin.h. |
497 def int_nacl_target_arch : Intrinsic<[llvm_i32_ty], []>, | 496 def int_nacl_target_arch : Intrinsic<[llvm_i32_ty], []>, |
498 GCCBuiltin<"__builtin_nacl_target_arch">; | 497 GCCBuiltin<"__builtin_nacl_target_arch">; |
499 // @LOCALMOD-END | 498 // @LOCALMOD-END |
500 | 499 |
501 //===----------------------------------------------------------------------===// | 500 //===----------------------------------------------------------------------===// |
502 // Target-specific intrinsics | 501 // Target-specific intrinsics |
503 //===----------------------------------------------------------------------===// | 502 //===----------------------------------------------------------------------===// |
504 | 503 |
505 include "llvm/IR/IntrinsicsPowerPC.td" | 504 include "llvm/IR/IntrinsicsPowerPC.td" |
506 include "llvm/IR/IntrinsicsX86.td" | 505 include "llvm/IR/IntrinsicsX86.td" |
507 include "llvm/IR/IntrinsicsARM.td" | 506 include "llvm/IR/IntrinsicsARM.td" |
508 include "llvm/IR/IntrinsicsXCore.td" | 507 include "llvm/IR/IntrinsicsXCore.td" |
509 include "llvm/IR/IntrinsicsHexagon.td" | 508 include "llvm/IR/IntrinsicsHexagon.td" |
510 include "llvm/IR/IntrinsicsNVVM.td" | 509 include "llvm/IR/IntrinsicsNVVM.td" |
511 include "llvm/IR/IntrinsicsMips.td" | 510 include "llvm/IR/IntrinsicsMips.td" |
512 include "llvm/IR/IntrinsicsR600.td" | 511 include "llvm/IR/IntrinsicsR600.td" |
OLD | NEW |