OLD | NEW |
1 ============================== | 1 ============================== |
2 LLVM Language Reference Manual | 2 LLVM Language Reference Manual |
3 ============================== | 3 ============================== |
4 | 4 |
5 .. contents:: | 5 .. contents:: |
6 :local: | 6 :local: |
7 :depth: 3 | 7 :depth: 3 |
8 | 8 |
9 Abstract | 9 Abstract |
10 ======== | 10 ======== |
(...skipping 2850 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2861 | 2861 |
2862 LLVM has a number of "magic" global variables that contain data that | 2862 LLVM has a number of "magic" global variables that contain data that |
2863 affect code generation or other IR semantics. These are documented here. | 2863 affect code generation or other IR semantics. These are documented here. |
2864 All globals of this sort should have a section specified as | 2864 All globals of this sort should have a section specified as |
2865 "``llvm.metadata``". This section and all globals that start with | 2865 "``llvm.metadata``". This section and all globals that start with |
2866 "``llvm.``" are reserved for use by LLVM. | 2866 "``llvm.``" are reserved for use by LLVM. |
2867 | 2867 |
2868 The '``llvm.used``' Global Variable | 2868 The '``llvm.used``' Global Variable |
2869 ----------------------------------- | 2869 ----------------------------------- |
2870 | 2870 |
2871 The ``@llvm.used`` global is an array which has :ref:`appending linkage | 2871 The ``@llvm.used`` global is an array which has |
2872 <linkage_appending>`. This array contains a list of pointers to global | 2872 :ref:`appending linkage <linkage_appending>`. This array contains a list of |
2873 variables, functions and aliases which may optionally have a pointer cast formed | 2873 pointers to global variables, functions and aliases which may optionally have a |
2874 of bitcast or getelementptr. For example, a legal use of it is: | 2874 pointer cast formed of bitcast or getelementptr. For example, a legal |
| 2875 use of it is: |
2875 | 2876 |
2876 .. code-block:: llvm | 2877 .. code-block:: llvm |
2877 | 2878 |
2878 @X = global i8 4 | 2879 @X = global i8 4 |
2879 @Y = global i32 123 | 2880 @Y = global i32 123 |
2880 | 2881 |
2881 @llvm.used = appending global [2 x i8*] [ | 2882 @llvm.used = appending global [2 x i8*] [ |
2882 i8* @X, | 2883 i8* @X, |
2883 i8* bitcast (i32* @Y to i8*) | 2884 i8* bitcast (i32* @Y to i8*) |
2884 ], section "llvm.metadata" | 2885 ], section "llvm.metadata" |
(...skipping 5721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8606 Arguments: | 8607 Arguments: |
8607 """""""""" | 8608 """""""""" |
8608 | 8609 |
8609 None. | 8610 None. |
8610 | 8611 |
8611 Semantics: | 8612 Semantics: |
8612 """""""""" | 8613 """""""""" |
8613 | 8614 |
8614 This intrinsic does nothing, and it's removed by optimizers and ignored | 8615 This intrinsic does nothing, and it's removed by optimizers and ignored |
8615 by codegen. | 8616 by codegen. |
OLD | NEW |