/llvm-project/llvm/docs/ |
H A D | OpaquePointers.rst | 11 types, there is a desire to remove pointee types from pointers. 33 Address spaces are still used to distinguish between different kinds of pointers 34 where the distinction is relevant for lowering (e.g. data vs function pointers 35 have different sizes on some architectures). Opaque pointers are not changing 37 `DataLayout <LangRef.html#langref-datalayout>`_. Opaque pointers in non-default 46 LLVM IR pointers can be cast back and forth between pointers with different 83 deal with bitcasts. When looking up through def-use chains for pointers it's 93 bitcast pointers, losing address space information. 107 mode all pointer types have a pointee type and opaque pointers cannot be used. 108 In opaque pointers mode (the default), all pointers are opaque. The opaque [all …]
|
/llvm-project/compiler-rt/test/scudo/ |
H A D | interface.cpp | 50 std::vector<void *> pointers; in main() local 55 pointers.push_back(p); in main() 69 while (!pointers.empty()) { in main() 70 free(pointers.back()); in main() 71 pointers.pop_back(); in main() 76 std::vector<void *> pointers; in main() local 81 pointers.push_back(p); in main()
|
/llvm-project/clang/test/SemaHLSL/ |
H A D | prohibit_pointer.hlsl | 3 // expected-error@+1 {{pointers are unsupported in HLSL}} 5 void* bark(int); // expected-error {{pointers are unsupported in HLSL}} 6 void meow(int*); // expected-error {{pointers are unsupported in HLSL}} 11 } *bad; // expected-error {{pointers are unsupported in HLSL}} 13 // expected-error@+1 {{pointers are unsupported in HLSL}} 21 // expected-error@+1 {{pointers are unsupported in HLSL}} 26 int *Y = &X; // expected-error {{pointers are unsupported in HLSL}} 39 int roar(Foo *F) { // expected-error {{pointers are unsupported in HLSL}} 52 // not-expected-error@+1 {{pointers are unsupported in HLSL}} 55 // not-expected-error@+1 {{pointers are unsupported in HLSL}}
|
/llvm-project/libcxx/test/support/ |
H A D | pointer_comparison_test_helper.h | 33 int* pointers[] = {&local.a, &local.b, nullptr, &local.a + 1}; in do_pointer_comparison_test() local 34 for (int* lhs : pointers) { in do_pointer_comparison_test() 35 for (int* rhs : pointers) { in do_pointer_comparison_test() 49 int* pointers[] = {&local.a, &local.b, nullptr, &local.a + 1}; in do_pointer_comparison_test() local 50 for (int* lhs : pointers) { in do_pointer_comparison_test() 51 for (int* rhs : pointers) { in do_pointer_comparison_test()
|
/llvm-project/compiler-rt/test/asan/TestCases/Posix/ |
H A D | invalid-pointer-pairs-threads.cpp | 14 char *pointers[2]; variable 21 pointers[id] = &local; in thread_main() 41 unsigned r = pointers[0] - pointers[1]; in main() 48 unsigned r = parent_pointer - pointers[0]; in main()
|
/llvm-project/clang-tools-extra/test/clang-tidy/checkers/objc/ |
H A D | nsinvocation-argument-lifetime.m | 42 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 45 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 48 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 51 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 56 …@LINE-1]]:30: warning: NSInvocation '-getReturnValue:' should only pass pointers to objects with o… 62 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 84 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 86 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o… 93 …@LINE-1]]:30: warning: NSInvocation '-getReturnValue:' should only pass pointers to objects with o… 101 …-1]]:27: warning: NSInvocation '-getArgument:atIndex:' should only pass pointers to objects with o…
|
/llvm-project/llvm/test/Analysis/BasicAA/ |
H A D | dereferenceable.ll | 9 ; CHECK: Function: global_and_deref_arg_1: 2 pointers, 0 call sites 19 ; CHECK: Function: global_and_deref_arg_2: 2 pointers, 0 call sites 29 ; CHECK: Function: byval_and_deref_arg_1: 2 pointers, 0 call sites 39 ; CHECK: Function: byval_and_deref_arg_2: 2 pointers, 0 call sites 53 ; CHECK: Function: local_and_deref_ret_1: 2 pointers, 2 call sites 66 ; CHECK: Function: local_and_deref_ret_2: 2 pointers, 2 call sites 82 ; CHECK: Function: global_and_deref_arg_non_deref_1: 2 pointers, 0 call sites 92 ; CHECK: Function: global_and_deref_arg_non_deref_2: 2 pointers, 0 call sites 103 ; CHECK: Function: byval_and_deref_arg_non_deref_1: 2 pointers, 0 call sites 113 ; CHECK: Function: byval_and_deref_arg_non_deref_2: 2 pointers, [all...] |
H A D | gep-modulo.ll | 7 ; CHECK-LABEL: Function: may_overflow_mul_add_i8: 3 pointers, 0 call sites 23 ; CHECK-LABEL: Function: nuw_nsw_mul_add_i8: 3 pointers, 0 call sites 40 ; CHECK-LABEL: Function: may_overflow_mul_sub_i8: 3 pointers, 0 call sites 56 ; CHECK-LABEL: Function: nuw_nsw_mul_sub_i8: 3 pointers, 0 call sites 74 ; CHECK-LABEL: Function: may_overflow_mul_sub_i64: 3 pointers, 0 call sites 90 ; CHECK-LABEL: Function: nuw_nsw_mul_sub_i64: 3 pointers, 0 call sites 106 ; CHECK-LABEL: Function: only_nsw_mul_sub_i64: 3 pointers, 0 call sites 122 ; CHECK-LABEL: Function: only_nuw_mul_sub_i64: 3 pointers, 0 call sites 140 ; CHECK-LABEL: Function: may_overflow_mul_pow2_sub_i64: 3 pointers, 0 call sites 157 ; CHECK-LABEL: Function: mul_pow2_sub_nsw_nuw_i64: 3 pointers, 0 call sites [all …]
|
/llvm-project/lldb/source/Plugins/Language/ObjC/ |
H A D | CFBasicHash.cpp | 64 m_exe_ctx_ref.GetProcessSP()->ReadMemory(ptr_offset, m_ht->pointers, size, in UpdateFor() 101 return m_ht_32->pointers[m_ht_32->bits.keys_offset]; in GetKeyPointer() 103 return m_ht_64->pointers[m_ht_64->bits.keys_offset]; in GetKeyPointer() 111 return m_ht_32->pointers[0]; in GetValuePointer() 113 return m_ht_64->pointers[0]; in GetValuePointer()
|
/llvm-project/clang/docs/ |
H A D | ConstantInterpreter.rst | 70 But other pointer types exist, such as typeid pointers or 71 integral pointers. 131 even when there are live pointers to them. Pointers are only valid as 132 long as the blocks they point to are valid, so a block with pointers to 133 it whose lifetime ends is kept alive until all pointers to it go out of 151 Non-static blocks track all the pointers into them through an intrusive 152 doubly-linked list, required to adjust and invalidate all pointers when 154 all pointers to it are invalidated, emitting the appropriate diagnostics when 231 Block pointers track a ``Pointee``, the block to which they point, along 234 one-past-end pointers) [all...] |
H A D | BoundsSafety.rst | 20 use to attach bounds to pointers. For example, programmers can add the 36 boundaries with the use of implicit wide pointers (a.k.a. "fat" pointers) that 69 ``-fbounds-safety`` ensures that pointers are not used to access memory beyond 115 The requirement to annotate all pointers with explicit bounds information could 119 wide pointers can potentially reduce the adoption burden, as it contains bounds 121 However, wide pointers differ from standard C pointers in their data layout, 128 model, local variables of pointer type are implicitly treated as wide pointers, 134 pointers fro [all...] |
H A D | BoundsSafetyImplPlans.rst | 20 * Internal bounds annotations (wide pointers) and their parsing logic. 21 * Clang code generation for wide pointers with debug information. 73 Despite this difference in their representations, they are still pointers in 76 dereferenced value same as plain C pointers, modulo the extra bounds checks 78 wide pointers to struct types with equivalent layout won’t be sufficient. To 79 represent the wide pointers in Clang AST, we add an extra field in the 81 pointers of different representations are mapped to different canonical types 82 while they are still treated as pointers. 84 In LLVM IR, wide pointers will be emitted as structs of equivalent 87 operations returning wide pointers. Alternatively, a new ``TEK`` and an [all …]
|
/llvm-project/clang/test/Analysis/ |
H A D | compound-literals.c | 20 int **pointers = (int *[]){&integers[0], NULL}; in bar() 21 clang_analyzer_eval(pointers[0] == NULL); // expected-warning{{FALSE}} in bar() 22 clang_analyzer_eval(pointers[1] == NULL); // expected-warning{{TRUE}} in bar()
|
/llvm-project/clang-tools-extra/docs/clang-tidy/checks/bugprone/ |
H A D | compare-pointer-to-member-virtual-function.rst | 38 Provide warnings on equality comparisons involve pointers to member virtual 42 In certain compilers, virtual function addresses are not conventional pointers 44 (vtable). Consequently, these pointers may vary between base and derived 46 becomes particularly challenging when dealing with pointers to pure virtual 54 especially when dealing with pointers to member virtual functions or pure 56 of your code. In scenarios involving pointers to member virtual functions, it's
|
/llvm-project/llvm/test/SafepointIRVerifier/ |
H A D | use-derived-unrelocated.ll | 5 ; CHECK-LABEL: Verifying gc pointers in function: test.deriving.ok 13 ; Checking if verifier accepts cmp of two derived pointers when one defined 16 ; CHECK-LABEL: Verifying gc pointers in function: test.cmp.ok 25 ; Checking if verifier accepts cmp of two derived pointers when one defined 26 ; before safepoint and one after and both have unrelocated base. One of pointers 29 ; CHECK-LABEL: Verifying gc pointers in function: test.cmp-long_chain.ok 47 ; CHECK-LABEL: Verifying gc pointers in function: test.load.fail 60 ; CHECK-LABEL: Verifying gc pointers in function: test.cmp.fail 74 ; CHECK-LABEL: Verifying gc pointers in function: test.cmp2.fail 88 ; Checking that cmp of two unrelocated pointers is OK and load is not. [all …]
|
H A D | compares.ll | 3 ; In some cases, it is valid to have unrelocated pointers used as compare 30 ; CHECK-LABEL: Verifying gc pointers in function: test3 44 ; CHECK-LABEL: Verifying gc pointers in function: test4 61 ; comparison between 2 unrelocated base pointers. 63 ; unrelocated uses of the pointers. 76 ; CHECK-LABEL: Verifying gc pointers in function: test6
|
/llvm-project/llvm/test/MachineVerifier/ |
H A D | test_g_addrspacecast.mir | 26 ; CHECK: Bad machine code: addrspacecast types must be pointers 29 ; CHECK: Bad machine code: addrspacecast types must be pointers 32 ; CHECK: Bad machine code: addrspacecast types must be pointers 35 ; CHECK: Bad machine code: addrspacecast types must be pointers
|
/llvm-project/clang/test/SemaOpenCL/ |
H A D | address-spaces-conversions-cl2.0.cl | 14 /* OpenCLC v2.0 adds a set of restrictions for conversions between pointers to 19 * generic address space can be interchangabley used with pointers to any 278 …comparison between ('__constant int *' and '__global int *') which are pointers to non-overlappin… 287 … between ('__{{global|constant}} int *' and '__local int *') which are pointers to non-overlappin… 296 …etween ('__{{global|generic}} int *' and '__constant int *') which are pointers to non-overlappin… 305 …etween ('__{{global|constant}} int *' and '__private int *') which are pointers to non-overlappin… 314 …omparison between ('__constant int *' and '__generic int *') which are pointers to non-overlappin… 323 …h operands of type ('__constant int *' and '__global int *') which are pointers to non-overlappin… 328 … of type ('__{{global|constant}} int *' and '__local int *') which are pointers to non-overlappin… 333 …f type ('__{{global|generic}} int *' and '__constant int *') which are pointers to non-overlappin… [all …]
|
/llvm-project/clang/docs/analyzer/developer-docs/ |
H A D | nullability.rst | 19 Taking a branch on nullable pointers are the same like taking branch on null unspecified pointers. 54 * We can assume that these pointers are not null and we lose coverage with the analyzer. (This can … 88 Annotations on multi level pointers 91 …pointers pointing to pointers would make the checker more complicated, because this way a vector o… 107 * Unannotated pointers are treated the same way as pointers annotated with nullability unspecified …
|
/llvm-project/llvm/test/Transforms/LoopStrengthReduce/AMDGPU/ |
H A D | different-addrspace-crash.ll | 7 ; and where pointers in those address spaces have different size. 8 ; E.g. for amdgcn-- pointers in address space 0 are 32 bits and pointers in
|
/llvm-project/compiler-rt/lib/asan/tests/ |
H A D | asan_interface_test.cpp | 392 std::vector<char *> pointers; in TEST() local 397 pointers.push_back((char*)malloc(size)); in TEST() 401 EXPECT_FALSE(__sanitizer_get_ownership(&pointers)); in TEST() 404 EXPECT_TRUE(__sanitizer_get_ownership(pointers[idx])); in TEST() 405 EXPECT_EQ(sizes[idx], __sanitizer_get_allocated_size(pointers[idx])); in TEST() 407 for (size_t i = 0, n = pointers.size(); i < n; i++) in TEST() 408 free(pointers[i]); in TEST()
|
/llvm-project/llvm/test/Transforms/LoopIdiom/ |
H A D | non-integral-pointers.ll | 7 ; LIR'ing stores of pointers with address space 3 is fine, since 8 ; they're integral pointers. 39 ; LIR'ing stores of pointers with address space 4 is not ok, since 40 ; they're non-integral pointers. NOTE: Zero is special value which 73 ; Same as previous case, but vector of non-integral pointers
|
/llvm-project/llvm/docs/HistoricalNotes/ |
H A D | 2002-06-25-MegaPatchInfo.txt | 18 wrapper around a vector of pointers to the sub-objects. 20 Now, instead of having a vector to pointers of objects, the objects are 25 formed directly from pointers to the LLVM value, and invalidation is much 66 of pointers, and that Pass subclasses now all receive references to Values 67 instead of pointers, because they may never be null.
|
/llvm-project/llvm/test/CodeGen/NVPTX/ |
H A D | packed-aggr.ll | 21 ; ERROR: initialized packed aggregate with pointers 's1' requires at least PTX ISA version 7.1 57 ;; is printed in bytes and uses the mask() operator for pointers even though 58 ;; the pointers are aligned. 70 ;; Test that a packed struct with aligned pointers is printed in words. 82 ;; Test that a packed struct with unaligned pointers inside an array is handled.
|
/llvm-project/clang/include/clang/Basic/ |
H A D | TargetCXXABI.def | 39 /// - the representation of member function pointers is adjusted 40 /// to not conflict with the 'thumb' bit of ARM function pointers; 57 /// - member function pointers, 76 /// - representation of member function pointers adjusted as in ARM. 86 /// - representation of member function pointers adjusted as in ARM. 92 /// - representation of member function pointers is adjusted, as in ARM;
|