This article discusses how object files can contain LLVM IR that is used for link-time optimization. But what if the linker is compiling a project that includes a static library, do static libraries have the information as well? If so, under which circumstances?
Does monolithic link-time optimization work with static libraries?
438 views Asked by meisel At
1
There are 1 answers
Related Questions in LLVM
- Get search paths for headers in the standard library in Clang?
- Build LLVM, Clang and Libfuzzer
- build boost use libc++ on linux use wrong --target
- LLD: How to Use –dll and –add-stdcall-alias Swiches
- LLVM code generation causes problems with pointer arithmetic
- How to identify call void @llvm.dbg.declare instructions in LLVM IR?
- Get all references to a C variable using llvm
- New to llvm - trying to make the files but getting collect2: fatal error
- How to fix loop not unrolled: the optimizer was unable to perform the requested transformation in clang?
- Where I can find the detail definition and use of LLVM-backend related stuff?
- Can the binary optimized by Autofdo and bolt be iteratively optimized?
- How to convert LLVM IR file (*.ll) to riscv64 assembly code? llc -march=riscv64 failed
- how to fuzz program using libfuzzer?
- How to run a single case in llvm unittest
- Building llvm and runtime
Related Questions in LINK-TIME-OPTIMIZATION
- Python time optimization for finding distinct sets of elements
- Are two std::string_views refering to equal-comparing string literal always also equal?
- What are use cases for GCC's `-fuse-linker-plugin`?
- ArmClang/ArmLink LTO removes object with __attribute__((used))
- Does forward declaration fully remove the need for any #including for pointer types?
- Why does link-time optimization cause a segmentation fault?
- Proper way of using link time opimization with source and assembly files?
- Does monolithic link-time optimization work with static libraries?
- Is LTO allowed to remove unused global object if there is code in a different translation unit relying on side effects of its construction?
- INTERPROCEDURAL_OPTIMIZATION not set even if check_ipo_supported() works in CMake
- Undefined reference with link time optimization and --as-needed ld flag
- arm-none-eabi-g++ does not correctly handle weak alias with -flto
- How to conditionally enable ltcg only if Qt was built with ltcg?
- Can gfortran perform link time optimization that would result in inlining a pure function from different translation unit?
- Can nvlink inline device functions from separate compilation units?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Yes. Static libraries can contain llvm-IR-bitcode also.
A. Step for build static libs with llvm-IR-bitcode
Build Settings->Enable Bitcode, Switch toYesProduct->ArchiveB. Check if a static lib contains llvm-IR-bitcode or not.
otool -l libDemo.a__bitcodeand check whether thesizeis bigger than 000001 or not.if
size> 000001 : then the static lib contain llvm-IR-bitcodeelse: the static lib do not contain llvm-IR-bitcode.
Wish this answers your question.