/external/llvm-project/lld/docs/ |
D | design.rst | 6 Note: this document discuss Mach-O port of LLD. For ELF and COFF, 10 ------------ 14 output file. Instead, lld is based on "Atoms". Traditional section based 21 attributes, such as: name, scope, content-type, alignment, etc. An atom also 28 live atoms, and then delete the non-live atoms. 32 ---------- 36 other atoms, such as for literal c-strings or floating point constants, or for 43 There are three atoms: main, a proxy for printf, and an anonymous atom 44 containing the c-string literal "hello world". The Atom "main" has two 46 reference for the instruction that loads the address of the c-string literal. [all …]
|
D | Readers.rst | 6 Note: this document discuss Mach-O port of LLD. For ELF and COFF, 10 ------------ 13 and create an `lld::File`:cpp:class: (which is a graph of Atoms) 46 created *only* through an object-format-specific 49 class is the one-and-only way to control how the Reader operates when 55 -------------- 68 --------------------- 84 a collection of Atoms. The result is a vector of File pointers (instead of 90 ---------------- 92 Atoms are always owned by their File object. During core linking when Atoms [all …]
|
/external/llvm-project/lld/include/lld/Core/ |
D | File.h | 1 //===- Core/File.h - A Container of Atoms ---------------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 34 /// To iterate through the Atoms in a File there are four methods that 37 /// for (const DefinedAtoms *atom : file->defined()) { 98 /// Returns the ordinal for the next atom to be defined in this file. 111 /// The range type for the atoms. 177 virtual const AtomRange<DefinedAtom> defined() const = 0; 191 /// Drop all of the atoms owned by this file. This will result in all of 192 /// the atoms running their destructors. [all …]
|
D | Atom.h | 1 //===- Core/Atom.h - A node in linking graph --------------------*- C++ -*-===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 24 /// as a set of Atoms with References to other Atoms. Each Atom is a node 33 /// Whether this atom is defined or a proxy for an undefined symbol 36 definitionAbsolute, ///< Asm-only (foo = 10). Not tied to any content. 41 /// The scope in which this atom is accessible to other atoms. 43 scopeTranslationUnit, ///< Accessible only to atoms in the same translation 45 scopeLinkageUnit, ///< Accessible to atoms being linked but not visible 47 scopeGlobal ///< Accessible to all atoms and visible to runtime [all …]
|
D | DefinedAtom.h | 1 //===- Core/DefinedAtom.h - An Atom with content --------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 27 /// Here are some example attribute sets for common atoms. If a particular 54 /// No-dead-strip function: __attribute__((used)) void foo() {} <br> 57 /// Non-inlined C++ inline method: inline void Foo::doit() {} <br> 61 /// Non-inlined C++ inline method whose address is taken: 66 /// literal c-string: "hello" <br> 115 typeConstant, // a read-only constant 120 typeLiteral4, // a four-btye read-only constant [all …]
|
D | Simple.h | 1 //===- lld/Core/Simple.h - Simple implementations of Atom and File --------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 10 /// Provide simple implementations for Atoms and File. 12 //===----------------------------------------------------------------------===// 78 auto &atoms = _defined; in removeDefinedAtomsIf() local 79 auto newEnd = std::remove_if(atoms.begin(), atoms.end(), in removeDefinedAtomsIf() 83 atoms.erase(newEnd, atoms.end()); in removeDefinedAtomsIf() 86 const AtomRange<DefinedAtom> defined() const override { return _defined; } in defined() function 219 [] (const SimpleReference *lhs, const SimpleReference *rhs) -> bool { in sortReferences() [all …]
|
/external/llvm-project/lld/test/mach-o/ |
D | lib-search-paths.yaml | 1 # RUN: ld64.lld -arch x86_64 %s -syslibroot %p/Inputs/lib-search-paths -lmyshared -lmystatic -lfile… 3 --- !native 4 undefined-atoms: 5 - name: _from_myshared 6 - name: _from_mystatic 7 - name: _from_fileo 9 # CHECK: defined-atoms: 10 # CHECK: - name: _from_fileo 12 # CHECK: - name: _from_mystatic 14 # CHECK: shared-library-atoms: [all …]
|
D | arm-subsections-via-symbols.yaml | 1 # RUN: ld64.lld -arch armv7 %s -r -print_atoms -o %t | FileCheck %s 4 # that atoms are non-dead-strip and there is a layout-after references 5 # chaining atoms together. 8 --- !mach-o 10 file-type: MH_OBJECT 12 has-UUID: false 15 - segment: __TEXT 24 local-symbols: 25 - name: constants1 29 - name: constants2 [all …]
|
D | objc-category-list-atom.yaml | 1 # RUN: ld64.lld -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s 2 # RUN: ld64.lld -arch x86_64 -r -print_atoms %t -o %t2 | FileCheck %s 5 --- !mach-o 7 file-type: MH_OBJECT 9 compat-version: 0.0 10 current-version: 0.0 11 has-UUID: false 14 - segment: __DATA 23 - offset: 0x00000008 26 pc-rel: false [all …]
|
D | twolevel_namespace_undef_dynamic_lookup.yaml | 1 # RUN: ld64.lld -arch x86_64 -macosx_version_min 10.9 -twolevel_namespace -undefined dynamic_lookup… 3 # Sanity check '-twolevel_namespace -undefined dynamic_lookup'. 6 --- !native 7 defined-atoms: 8 - name: _main 13 - kind: branch32 16 undefined-atoms: 17 - name: _bar
|
D | flat_namespace_undef_suppress.yaml | 1 # RUN: ld64.lld -arch x86_64 -macosx_version_min 10.9 -flat_namespace -undefined suppress %s -o %t … 3 # Sanity check '-flat_namespace -undefined suppress'. 6 --- !native 7 defined-atoms: 8 - name: _main 13 - kind: branch32 16 undefined-atoms: 17 - name: _bar
|
D | flat_namespace_undef_error.yaml | 1 # RUN: not ld64.lld -arch x86_64 -macosx_version_min 10.9 -flat_namespace -undefined error %s -o %t… 3 --- !native 4 defined-atoms: 5 - name: _main 10 - kind: branch32 13 undefined-atoms: 14 - name: _bar 16 # Make sure we error out for -flat_namespace -undefined error.
|
D | twolevel_namespace_undef_warning_suppress.yaml | 1 # RUN: not ld64.lld -arch x86_64 -macosx_version_min 10.9 -twolevel_namespace -undefined warning %s… 2 # RUN: FileCheck --check-prefix=CHECK-WARNING %s 3 # RUN: not ld64.lld -arch x86_64 -macosx_version_min 10.9 -twolevel_namespace -undefined suppress %… 4 # RUN: FileCheck --check-prefix=CHECK-SUPPRESS %s 6 --- !native 7 defined-atoms: 8 - name: _main 13 - kind: branch32 16 undefined-atoms: 17 - name: _bar [all …]
|
D | dead-strip-globals.yaml | 1 …UN: ld64.lld -arch x86_64 -dead_strip -export_dynamic %s -dylib %p/Inputs/x86_64/libSystem.yaml -o… 2 …UN: ld64.lld -arch x86_64 -export_dynamic -dead_strip %s -dylib %p/Inputs/x86_64/libSystem.yaml -o… 3 # RUN: ld64.lld -arch x86_64 -dead_strip %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t2.dylib -pr… 5 # RUN: ld64.lld -arch x86_64 -r %s -dylib %p/Inputs/x86_64/libSystem.yaml -o %t3.o 6 # RUN: llvm-nm -m %t3.o | FileCheck -check-prefix=RELOCATABLE_SYMBOLS %s 9 # Test that -export_dynamic -dead-strip from removing globals. 12 --- 13 defined-atoms: 14 - name: def 16 dead-strip: never [all …]
|
D | gcc_except_tab-got-arm64.yaml | 1 # RUN: ld64.lld -arch arm64 %s \ 2 # RUN: -dylib %p/Inputs/arm64/libSystem.yaml -o %t 3 # RUN: llvm-objdump --section-headers %t | FileCheck %s 8 --- !native 9 defined-atoms: 10 - name: _main 16 - name: __ZTSP1A 20 merge: as-weak 21 - name: GCC_except_table0 22 type: unwind-lsda [all …]
|
D | parse-cfstring32.yaml | 1 # RUN: ld64.lld -arch i386 -r -print_atoms %s -o %t | FileCheck %s 3 # Test parsing of mach-o functions. 6 --- !mach-o 8 file-type: MH_OBJECT 10 has-UUID: false 13 - segment: __TEXT 20 - segment: __DATA 31 - offset: 0x00000018 34 pc-rel: false 37 - offset: 0x00000010 [all …]
|
/external/llvm-project/lld/test/darwin/ |
D | native-and-mach-o.objtxt | 1 # RUN: ld64.lld -arch x86_64 -macosx_version_min 10.8 %s \ 2 # RUN: %p/Inputs/native-and-mach-o.objtxt \ 3 # RUN: %p/Inputs/native-and-mach-o2.objtxt -o %t && \ 4 # RUN: llvm-nm %t | FileCheck %s 6 # Test a mix of atoms and mach-o both encoded in yaml 9 --- !native 10 defined-atoms: 11 - name: _main 17 - offset: 7 21 undefined-atoms: [all …]
|
D | cmdline-lto_library.objtxt | 1 # RUN: ld64.lld -arch x86_64 -lto_library %t -print-atoms -r %s 2>&1 | FileCheck %s 3 # Test that the -lto_library option does not result in an error. 6 # CHECK-NOT: -lto_library 8 --- !native 9 defined-atoms: 10 - name: _foo
|
/external/llvm-project/lld/lib/Core/ |
D | Resolver.cpp | 1 //===- Core/Resolver.cpp - Resolves Atom References -----------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 36 for (auto &atom : file.defined().owning_ptrs()) in handleFile() 77 [&](StringRef undefName) -> llvm::Expected<bool> { in handleArchiveFile() 78 if (File *member = archiveFile->find(undefName)) { in handleArchiveFile() 79 member->setOrdinal(_ctx.getNextOrdinalAndIncrement()); in handleArchiveFile() 87 // Add all the atoms from the shared library in handleSharedLibrary() 93 forEachUndefines(file, [&](StringRef undefName) -> llvm::Expected<bool> { in handleSharedLibrary() 94 auto atom = sharedLibrary->exports(undefName); in handleSharedLibrary() [all …]
|
/external/llvm-project/llvm/include/llvm/CodeGen/ |
D | AccelTable.h | 1 //==- include/llvm/CodeGen/AccelTable.h - Accelerator Tables -----*- C++ -*-==// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 38 /// The Apple accelerator table are output into an on-disk format that looks 41 /// .------------------. 43 /// |------------------| 45 /// |------------------| 47 /// |------------------| 49 /// |------------------| [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/ |
D | AccelTable.h | 1 //==- include/llvm/CodeGen/AccelTable.h - Accelerator Tables -----*- C++ -*-==// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 11 //===----------------------------------------------------------------------===// 38 /// The Apple accelerator table are output into an on-disk format that looks 41 /// .------------------. 43 /// |------------------| 45 /// |------------------| 47 /// |------------------| 49 /// |------------------| [all …]
|
/external/llvm-project/lld/lib/ReaderWriter/MachO/ |
D | LayoutPass.cpp | 1 //===-- ReaderWriter/MachO/LayoutPass.cpp - Layout atoms ------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 39 // Less-than relationship of two atoms must be transitive, which is, if a < b 52 // Helper functions to check follow-on graph. 59 if (definedAtom->name().empty()) in atomToDebugString() 62 s << definedAtom->name(); in atomToDebugString() 64 if (definedAtom->customSectionName().empty()) in atomToDebugString() 67 s << definedAtom->customSectionName(); in atomToDebugString() 76 llvm::dbgs() << "There's a cycle in a follow-on chain!\n"; in showCycleDetectedError() [all …]
|
D | ShimPass.cpp | 1 //===- lib/ReaderWriter/MachO/ShimPass.cpp -------------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 9 // This linker pass updates branch-sites whose target is a different mode 17 // branch and link), there is no pc-rel BX instruction. 19 // The ShimPass looks for pc-rel B instructions that will need to switch mode. 23 //===----------------------------------------------------------------------===// 45 _file(*_ctx.make_file<MachOFile>("<mach-o shim pass>")) { in ShimPass() 50 // Scan all references in all atoms. in perform() 51 for (const DefinedAtom *atom : mergedFile.defined()) { in perform() [all …]
|
/external/mesa3d/src/intel/compiler/ |
D | brw_fs_bank_conflicts.cpp | 33 * hardware spec, but experimentally on Gen7-Gen9 ternary instructions seem to 40 * The asymptotic run-time of the algorithm is dominated by the 42 * number of instructions in the program, however for small and medium-sized 43 * programs the run-time is likely to be dominated by 44 * optimize_reg_permutation() which is O(m^3) on the number of GRF atoms of 46 * bounded number of registers post-regalloc) and of the order of 100. For 60 * e.g. the fall-back scalar path, an implementation with different vector 61 * width or using different SIMD architectures (AVX-512?!). 93 * Set the i-th component of vector \p v to \p x. 103 * Get the i-th component of vector \p v. [all …]
|
/external/llvm-project/lld/lib/ReaderWriter/YAML/ |
D | ReaderWriterYAML.cpp | 1 //===- lib/ReaderWriter/YAML/ReaderWriterYAML.cpp -------------------------===// 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 //===----------------------------------------------------------------------===// 56 /// The conversion of Atoms to and from YAML uses LLVM's YAML I/O. This 63 /// In most cases, atoms names are unambiguous, so references can just 65 /// cases that does not work, so ref-names are added. These are labels 68 /// One need for ref-names are when atoms have no user supplied name 69 /// (e.g. c-string literal). Another case is when two object files with 70 /// identically named static functions are merged (ld -r) into one object file. 72 /// ref-name is added. [all …]
|