Home
last modified time | relevance | path

Searched +full:defined +full:- +full:atoms (Results 1 – 25 of 146) sorted by relevance

123456

/external/llvm-project/lld/docs/
Ddesign.rst6 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 …]
DReaders.rst6 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/
DFile.h1 //===- 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 …]
DAtom.h1 //===- 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 …]
DDefinedAtom.h1 //===- 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 …]
DSimple.h1 //===- 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/
Dlib-search-paths.yaml1 # 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 …]
Darm-subsections-via-symbols.yaml1 # 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 …]
Dobjc-category-list-atom.yaml1 # 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 …]
Dtwolevel_namespace_undef_dynamic_lookup.yaml1 # 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
Dflat_namespace_undef_suppress.yaml1 # 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
Dflat_namespace_undef_error.yaml1 # 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.
Dtwolevel_namespace_undef_warning_suppress.yaml1 # 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 …]
Ddead-strip-globals.yaml1 …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 …]
Dgcc_except_tab-got-arm64.yaml1 # 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 …]
Dparse-cfstring32.yaml1 # 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/
Dnative-and-mach-o.objtxt1 # 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 …]
Dcmdline-lto_library.objtxt1 # 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/
DResolver.cpp1 //===- 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/
DAccelTable.h1 //==- 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/
DAccelTable.h1 //==- 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/
DLayoutPass.cpp1 //===-- 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 …]
DShimPass.cpp1 //===- 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/
Dbrw_fs_bank_conflicts.cpp33 * 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/
DReaderWriterYAML.cpp1 //===- 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 …]

123456