/aosp_15_r20/build/soong/cc/ |
H A D | lto.go | 26 // LTO (link-time optimization) allows the compiler to optimize and generate 28 // unit. LTO is required for Clang CFI and other whole-program optimization 29 // techniques. LTO also allows cross-compilation unit optimizations that should 33 // To properly build a module with LTO, the module and all recursive static 39 // LTO, such as CFI. 41 // This file adds support to soong to automatically propagate LTO options to a 42 // new variant of all static dependencies for each module with LTO enabled. 45 // Lto must violate capitalization style for acronyms so that it can be 46 // referred to in blueprint files as "lto" 47 Lto struct { member [all …]
|
H A D | lto_test.go | 65 lto: { 97 if strings.Contains(v, "lto-none") { 98 t.Errorf("Expected variants for 'bar' to not contain 'lto-none', but found %q", v) 103 if strings.Contains(v, "lto-none") { 104 t.Errorf("Expected variants for 'qux' to not contain 'lto-none', but found %q", v) 121 lto: { 129 lto: { 155 if w := "-flto=thin -fsplit-lto-unit"; !strings.Contains(libFooCFlags, w) { 165 if w := "-flto=thin -fsplit-lto-unit"; !strings.Contains(libBazCFlags, w) { 176 lto: { [all …]
|
/aosp_15_r20/external/clang/docs/ |
H A D | LTOVisibility.rst | 2 LTO Visibility 5 *LTO visibility* is a property of an entity that specifies whether it can be 6 referenced from outside the current LTO unit. A *linkage unit* is a set of 8 unit's *LTO unit* is the subset of the linkage unit that is linked together 9 using link-time optimization; in the case where LTO is not being used, the 10 linkage unit's LTO unit is empty. Each linkage unit has only a single LTO unit. 12 The LTO visibility of a class is used by the compiler to determine which 19 ODR violation to define a class with hidden LTO visibility in multiple linkage 20 units. A class with public LTO visibility may be defined in multiple linkage 22 control flow integrity features can only be applied to classes with hidden LTO [all …]
|
/aosp_15_r20/external/llvm/test/tools/dsymutil/ |
H A D | basic-linking.test | 2 …t -verbose -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHE… 4 …64 %p/Inputs/basic-lto.macho.x86_64 %p/Inputs/basic-archive.macho.x86_64 | FileCheck %s --check-pr… 60 ================================= LTO link ================================ 61 CHECK-LTO: DEBUG MAP OBJECT: {{.*}}basic-lto.macho.x86_64.o 62 CHECK-LTO: Input compilation unit: 63 CHECK-LTO-NEXT: TAG_compile_unit 64 CHECK-LTO-NOT: TAG 65 CHECK-LTO: AT_name {{.*}}basic1.c 66 CHECK-LTO: Input compilation unit: 67 CHECK-LTO-NEXT: TAG_compile_unit [all …]
|
H A D | debug-map-parsing.test | 2 …-debug-map -oso-prepend-path=%p %p/Inputs/basic-lto.macho.x86_64 | FileCheck %s --check-prefix=CHE… 28 Check that we can parse the debug-map of the basic-lto executable 30 CHECK-LTO-NOT: error 31 CHECK-LTO: --- 32 CHECK-LTO: triple: 'x86_64-apple-darwin' 33 CHECK-LTO: binary-path:{{.*}}/Inputs/basic-lto.macho.x86_64 34 CHECK-LTO: /Inputs/basic-lto.macho.x86_64.o 35 CHECK-LTO-DAG: sym: _bar, objAddr: 0x0000000000000050, binAddr: 0x0000000100000F90, size: 0x000000… 36 CHECK-LTO-DAG: sym: _baz, objAddr: 0x0000000000000658, binAddr: 0x0000000100001000, size: 0x000000… 37 CHECK-LTO-DAG: sym: _foo, objAddr: 0x0000000000000010, binAddr: 0x0000000100000F50, size: 0x000000… [all …]
|
/aosp_15_r20/prebuilts/clang/host/linux-x86/clang-r522817/include/llvm/LTO/ |
D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 22 #include "llvm/LTO/Config.h" 47 const lto::Config &C, ModuleSummaryIndex &Index, 67 SmallString<40> &Key, const lto::Config &Conf, 76 namespace lto { 103 class LTO; variable 108 /// information that an LTO client should need in order to do symbol resolution. [all …]
|
D | Config.h | 9 // This file defines the lto::Config data structure, which allows clients to 10 // configure LTO. 37 namespace lto { 39 /// LTO configuration. A linker can configure LTO by setting fields in this data 40 /// structure and passing it to the lto::LTO constructor. 47 // computeLTOCacheKey in LTO.cpp. 79 /// Asserts whether we can assume whole program visibility during the LTO 89 /// Always emit a Regular LTO object even when it is empty because no Regular 90 /// LTO modules were linked. This option is useful for some build system which 189 /// If this field is set, LTO will write input file paths and symbol [all …]
|
/aosp_15_r20/prebuilts/clang/host/linux-x86/clang-r530567b/include/llvm/LTO/ |
D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 22 #include "llvm/LTO/Config.h" 47 const lto::Config &C, ModuleSummaryIndex &Index, 67 SmallString<40> &Key, const lto::Config &Conf, 76 namespace lto { 105 class LTO; variable 110 /// information that an LTO client should need in order to do symbol resolution. [all …]
|
D | Config.h | 9 // This file defines the lto::Config data structure, which allows clients to 10 // configure LTO. 37 namespace lto { 39 /// LTO configuration. A linker can configure LTO by setting fields in this data 40 /// structure and passing it to the lto::LTO constructor. 47 // computeLTOCacheKey in LTO.cpp. 76 /// Asserts whether we can assume whole program visibility during the LTO 86 /// Always emit a Regular LTO object even when it is empty because no Regular 87 /// LTO modules were linked. This option is useful for some build system which 186 /// If this field is set, LTO will write input file paths and symbol [all …]
|
/aosp_15_r20/prebuilts/clang/host/linux-x86/clang-r530567/include/llvm/LTO/ |
D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 22 #include "llvm/LTO/Config.h" 47 const lto::Config &C, ModuleSummaryIndex &Index, 67 SmallString<40> &Key, const lto::Config &Conf, 76 namespace lto { 105 class LTO; variable 110 /// information that an LTO client should need in order to do symbol resolution. [all …]
|
D | Config.h | 9 // This file defines the lto::Config data structure, which allows clients to 10 // configure LTO. 37 namespace lto { 39 /// LTO configuration. A linker can configure LTO by setting fields in this data 40 /// structure and passing it to the lto::LTO constructor. 47 // computeLTOCacheKey in LTO.cpp. 76 /// Asserts whether we can assume whole program visibility during the LTO 86 /// Always emit a Regular LTO object even when it is empty because no Regular 87 /// LTO modules were linked. This option is useful for some build system which 186 /// If this field is set, LTO will write input file paths and symbol [all …]
|
/aosp_15_r20/prebuilts/clang/host/linux-x86/clang-r536225/include/llvm/LTO/ |
D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 22 #include "llvm/LTO/Config.h" 47 const lto::Config &C, ModuleSummaryIndex &Index, 67 SmallString<40> &Key, const lto::Config &Conf, 76 namespace lto { 105 class LTO; variable 110 /// information that an LTO client should need in order to do symbol resolution. [all …]
|
/aosp_15_r20/external/AFLplusplus/instrumentation/ |
H A D | README.lto.md | 1 # afl-clang-lto - collision free instrumentation at link time 7 1. Use afl-clang-lto/afl-clang-lto++ because the resulting binaries run 18 Some targets might need `LD=afl-clang-lto` and others `LD=afl-ld-lto`. 38 * To instrument at link time, we compile in LTO (link time optimization) mode. 39 * Our compiler (afl-clang-lto/afl-clang-lto++) takes care of setting the correct 40 LTO options and runs our own afl-ld linker instead of the system linker. 41 * The LLVM linker collects all LTO files to link and instruments them so that we 56 libtool: link: afl-clang-lto -g -O2 -Wall -W -o thumbnail thumbnail.o ../libtiff/.libs/libtiff.a .… 57 afl-clang-lto++2.63d by Marc "vanHauser" Heuse <[email protected]> in mode LTO 58 afl-llvm-lto++2.63d by Marc "vanHauser" Heuse <[email protected]> [all …]
|
/aosp_15_r20/external/elfutils/tests/ |
H A D | run-allfcts.sh | 94 # = testfile-lto.h = 103 # = testfile-lto-func.c = 104 # #include "testfile-lto.h" 116 # = testfile-lto-main.c = 117 # #include "testfile-lto.h" 134 # gcc -g -O2 -flto -c testfile-lto-func.c 135 # gcc -g -O2 -flto -c testfile-lto-main.c 136 # gcc -g -O2 -flto -o testfile-lto-gcc10 testfile-lto-func.o testfile-lto-main.o 138 testfiles testfile-lto-gcc10 140 testrun_compare ${abs_builddir}/allfcts testfile-lto-gcc10 <<\EOF [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/include/llvm/LTO/ |
H A D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 22 #include "llvm/LTO/Config.h" 47 const lto::Config &C, ModuleSummaryIndex &Index, 67 SmallString<40> &Key, const lto::Config &Conf, 76 namespace lto { 99 class LTO; variable 104 /// information that an LTO client should need in order to do symbol resolution. [all …]
|
H A D | Config.h | 9 // This file defines the lto::Config data structure, which allows clients to 10 // configure LTO. 37 namespace lto { 39 /// LTO configuration. A linker can configure LTO by setting fields in this data 40 /// structure and passing it to the lto::LTO constructor. 47 // computeLTOCacheKey in LTO.cpp. 78 /// Asserts whether we can assume whole program visibility during the LTO 82 /// Always emit a Regular LTO object even when it is empty because no Regular 83 /// LTO modules were linked. This option is useful for some build system which 186 /// If this field is set, LTO will write input file paths and symbol [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/LTO/ |
H A D | LTO.h | 1 //===-LTO.h - LLVM Link Time Optimizer ------------------------------------===// 9 // This file declares functions and classes used to support LTO. It is intended 10 // to be used both by LTO classes as well as by clients (gold-plugin) that 11 // don't utilize the LTO code generator interfaces. 24 #include "llvm/LTO/Config.h" 70 SmallString<40> &Key, const lto::Config &Conf, 79 namespace lto { 98 class LTO; variable 103 /// information that an LTO client should need in order to do symbol resolution. 109 // FIXME: Remove LTO class friendship once we have bitcode symbol tables. [all …]
|
/aosp_15_r20/tools/test/connectivity/acts_tests/tests/google/gnss/ |
D | GnssVendorFeaturesTest.py | 99 """Verify XTRA/LTO functionality of TTFF Cold Start with mobile data. 105 XTRA/LTO TTFF Cold Start results should be within xtra_cs_criteria. 112 """Verify XTRA/LTO functionality of TTFF Warm Start with mobile data. 118 XTRA/LTO TTFF Warm Start results should be within xtra_ws_criteria. 125 """Verify XTRA/LTO functionality of TTFF Hot Start with mobile data. 131 XTRA/LTO TTFF Hot Start results should be within xtra_hs_criteria. 138 """Verify XTRA/LTO functionality of TTFF Cold Start with WiFi. 146 XTRA/LTO TTFF Cold Start results should be within 155 """Verify XTRA/LTO functionality of TTFF Warm Start with WiFi. 163 XTRA/LTO TTFF Warm Start results should be within xtra_ws_criteria. [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-10.0/llvm/lib/LTO/ |
H A D | LTO.cpp | 1 //===-LTO.cpp - LLVM Link Time Optimizer ----------------------------------===// 9 // This file implements functions and classes used to support LTO. 13 #include "llvm/LTO/LTO.h" 28 #include "llvm/LTO/LTOBackend.h" 29 #include "llvm/LTO/SummaryBasedOptimizations.h" 55 using namespace lto; 58 #define DEBUG_TYPE "lto" 64 /// Enable global value internalization in LTO. 66 "enable-lto-internalization", cl::init(true), cl::Hidden, 67 cl::desc("Enable global value internalization in LTO")); [all …]
|
/aosp_15_r20/external/AFLplusplus/test/ |
H A D | test-llvm-lto.sh | 5 $ECHO "$BLUE[*] Testing: LTO llvm_mode" 6 test -e ../afl-clang-lto -a -e ../SanitizerCoverageLTO.so && { 16 ../afl-clang-lto -o test-instr.plain ../test-instr.c > /dev/null 2>&1 18 $ECHO "$GREEN[+] llvm_mode LTO compilation succeeded" 23 … $ECHO "$RED[!] llvm_mode LTO instrumentation should be different on different input but is not" 26 $ECHO "$GREEN[+] llvm_mode LTO instrumentation present and working correctly" 29 $ECHO "$GREEN[+] llvm_mode LTO run reported $TUPLES instrumented locations which is fine" 31 $ECHO "$RED[!] llvm_mode LTO instrumentation produces weird numbers: $TUPLES" 36 $ECHO "$RED[!] llvm_mode LTO instrumentation failed" 41 $ECHO "$RED[!] LTO llvm_mode failed" [all …]
|
/aosp_15_r20/external/AFLplusplus/ |
H A D | GNUmakefile.llvm | 98 $(info [+] llvm_mode detected llvm 12+, enabling afl-lto LTO implementation) 103 $(info [+] llvm_mode detected llvm < 12, afl-lto LTO will not be build.) 230 …ts of a different version than LLMV ($(TMP_LDLDD_VERSION) vs. $(LLVMVER)) - cannot enable LTO mode) 236 $(warning ld.lld not found, cannot enable LTO mode) 241 …$(warning clang option -flto is not working - maybe LLVMgold.so not found - cannot enable LTO mode) 254 $(warning -fuse-ld is not working, cannot enable LTO mode) 344 …ss.so ./afl-llvm-dict2file.so ./compare-transform-pass.so ./afl-ld-lto ./afl-llvm-lto-instrumentli… 412 @ln -sf afl-cc ./afl-clang-lto 413 @ln -sf afl-cc ./afl-clang-lto++ 414 @ln -sf afl-cc ./afl-lto [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/lib/LTO/ |
H A D | LTO.cpp | 1 //===-LTO.cpp - LLVM Link Time Optimizer ----------------------------------===// 9 // This file implements functions and classes used to support LTO. 13 #include "llvm/LTO/LTO.h" 33 #include "llvm/LTO/LTOBackend.h" 34 #include "llvm/LTO/SummaryBasedOptimizations.h" 62 using namespace lto; 65 #define DEBUG_TYPE "lto" 72 /// Enable global value internalization in LTO. 74 "enable-lto-internalization", cl::init(true), cl::Hidden, 75 cl::desc("Enable global value internalization in LTO")); [all …]
|
H A D | LTOCodeGenerator.cpp | 14 #include "llvm/LTO/legacy/LTOCodeGenerator.h" 39 #include "llvm/LTO/LTO.h" 40 #include "llvm/LTO/LTOBackend.h" 41 #include "llvm/LTO/legacy/LTOModule.h" 42 #include "llvm/LTO/legacy/UpdateCompilerUsed.h" 75 "lto-discard-value-names", 76 cl::desc("Strip names from Value during LTO (other than GlobalValue)."), 85 "lto-pass-remarks-with-hotness", 91 "lto-pass-remarks-hotness-threshold", 98 RemarksFilename("lto-pass-remarks-output", [all …]
|
/aosp_15_r20/external/llvm/test/tools/dsymutil/X86/ |
H A D | multiple-inputs.test | 6 RUN: cat %p/../Inputs/basic-lto.macho.x86_64 > %T/multiple-inputs/basic-lto.macho.x86_64 7 RUN: cat %p/../Inputs/basic-lto-dw4.macho.x86_64 > %T/multiple-inputs/basic-lto-dw4.macho.x86_64 10 …s/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lt… 15 RUN: llvm-dwarfdump %T/multiple-inputs/basic-lto.macho.x86_64.dwarf | FileCheck %S/basic-lto-linkin… 16 RUN: llvm-dwarfdump %T/multiple-inputs/basic-lto-dw4.macho.x86_64.dwarf | FileCheck %S/basic-lto-dw… 19 …s/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lt… 24 …: llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto.macho.x86_64 | FileCheck %S/basic-lto-… 25 …llvm-dwarfdump %t.dSYM/Contents/Resources/DWARF/basic-lto-dw4.macho.x86_64 | FileCheck %S/basic-lt… 28 …s/basic-archive.macho.x86_64 %T/multiple-inputs/basic-lto.macho.x86_64 %T/multiple-inputs/basic-lt…
|
/aosp_15_r20/external/clang/test/Driver/ |
H A D | lto.c | 6 // CHECK-COMPILE-ACTIONS: 3: backend, {2}, lto-bc 11 // CHECK-COMPILELINK-ACTIONS: 0: input, "{{.*}}lto.c", c 14 // CHECK-COMPILELINK-ACTIONS: 3: backend, {2}, lto-bc 22 // CHECK-COMPILELINK-SUFFIXES: "-o" "{{.*}}lto.i" "-x" "c" "{{.*}}lto.c" 23 // CHECK-COMPILELINK-SUFFIXES: "-o" "{{.*}}lto.bc" {{.*}}"{{.*}}lto.i" 24 // CHECK-COMPILELINK-SUFFIXES: "-o" "{{.*}}lto.o" {{.*}}"{{.*}}lto.bc" 25 // CHECK-COMPILELINK-SUFFIXES: "{{.*}}a.{{(out|exe)}}" {{.*}}"{{.*}}lto.o" 30 // CHECK-COMPILE-SUFFIXES: "-o" "{{.*}}lto.s" "-x" "c" "{{.*}}lto.c" 37 // RUN: FileCheck -check-prefix=CHECK-LINK-LTO-ACTION < %t %s 39 // CHECK-LINK-LTO-ACTION: "-plugin" "{{.*}}/LLVMgold.so" [all …]
|