diff --git a/docs/LangRef.html b/docs/LangRef.html index 9efc1c17ff8..796aa563a7b 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -191,6 +191,12 @@
  • Debugger intrinsics
  • Exception Handling intrinsics
  • +
  • General intrinsics
  • +
      +
    1. 'llvm.var.annotation' + Intrinsic
    2. +
    + @@ -4819,6 +4825,50 @@ href="ExceptionHandling.html#format_common_intrinsics">LLVM Exception Handling document.

    + +
    + General Intrinsics +
    + +
    +

    This class of intrinsics is designed to be generic and has +no specific purpose.

    +
    + + +
    + 'llvm.var.annotation' Intrinsic +
    + +
    + +
    Syntax:
    +
    +  declare void @llvm.var.annotation(i8* <val>, i8* <str>)
    +
    + +
    Overview:
    + +

    +The 'llvm.var.annotation' intrinsic +

    + +
    Arguments:
    + +

    +The first argument is a pointer to a value, and the second is a pointer to a +global string. +

    + +
    Semantics:
    + +

    +This intrinsic allows annotation of local variables with arbitrary strings. +This can be useful for special purpose optimizations that want to look for these + annotations. These have no other defined use, they are ignored by code + generation and optimization. +

    +
    diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index e76362d36f7..4b427f30a43 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -235,6 +235,11 @@ def int_eh_filter : Intrinsic<[llvm_i32_ty, llvm_ptr_ty, llvm_ptr_ty, llvm_vararg_ty]>; def int_eh_typeid_for : Intrinsic<[llvm_i32_ty, llvm_ptr_ty]>; +//===---------------- Generic Variable Attribute Intrinsics----------------===// +// +def int_var_annotation : Intrinsic<[llvm_void_ty, llvm_ptr_ty, llvm_ptr_ty], + [], "llvm.var.annotation">; + //===----------------------------------------------------------------------===// // Target-specific intrinsics //===----------------------------------------------------------------------===//