summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/thinlto_backend.ll
AgeCommit message (Collapse)Author
2025-08-02Reapply "[clang] Remove %T from tests (#151614)"Aiden Grossman
This reverts commit 4c80193a58a5c24e2bbebe291feb406191c4e2ab. This relands the commit. The issues have theoretically been fixed.
2025-08-01Revert "[clang] Remove %T from tests (#151614)"Aiden Grossman
This reverts commit 5a586375aa3a128dadc9473cfa196bf8588c2a82. This breaks two buildbots with failures in implicit-module-header-maps.cpp. No idea why these failures are occurring. https://lab.llvm.org/buildbot/#/builders/64/builds/5166 https://lab.llvm.org/buildbot/#/builders/13/builds/8725
2025-08-01[clang] Remove %T from tests (#151614)Aiden Grossman
This patch removes %T from clang lit tests. %T has been deprecated for about seven years and is not reccomended as it is not unique to each test, which can lead to races. This patch is intended to remove usage in tree with the end goal of removing support for %T within lit.
2022-06-02[IR] Enable opaque pointers by defaultNikita Popov
This enabled opaque pointers by default in LLVM. The effect of this is twofold: * If IR that contains *neither* explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed. * Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext. A cmake option to toggle this default will not be provided. Frontends or other tools that want to (temporarily) keep using typed pointers should disable opaque pointers via LLVMContext. Differential Revision: https://reviews.llvm.org/D126689
2021-03-30[ThinLTO] During module importing, close one source module before openWei Mi
another one for distributed mode. Currently during module importing, ThinLTO opens all the source modules, collect functions to be imported and append them to the destination module, then leave all the modules open through out the lto backend pipeline. This patch refactors it in the way that one source module will be closed before another source module is opened. All the source modules will be closed after importing phase is done. It will save some amount of memory when there are many source modules to be imported. Note that this patch only changes the distributed thinlto mode. For in process thinlto mode, one source module is shared acorss different thinlto backend threads so it is not changed in this patch. Differential Revision: https://reviews.llvm.org/D99554
2020-01-17[test] Fix tests after D52810Fangrui Song
2019-09-10Reland "Change the X86 datalayout to add three address spacesAmy Huang
for 32 bit signed, 32 bit unsigned, and 64 bit pointers." This reverts 57076d3199fc2b0af4a3736b7749dd5462cacda5. Original review at https://reviews.llvm.org/D64931. Review for added fix at https://reviews.llvm.org/D66843. llvm-svn: 371568
2019-09-10Re-land Remove REQUIRES:shell from tests that pass for me on WindowsReid Kleckner
This reverts r371497 (git commit 3d7e9ab7b9f8c53aa41420c54970f0fb421004a2) Reorder `not` with `env` in these two tests so they pass: Driver/rewrite-map-in-diagnostics.c Index/crash-recovery-modules.m. This will not be necessary after D66531 lands. llvm-svn: 371552
2019-09-10Revert Remove REQUIRES:shell from tests that pass for me on WindowsJames Henderson
This reverts r371478 (git commit a9980f60ce083fa6d5fd03c12c58ca0b293e3d60) llvm-svn: 371497
2019-09-10Remove REQUIRES:shell from tests that pass for me on WindowsReid Kleckner
I see in the history for some of these tests REQUIRES:shell was used as a way to disable tests on Windows because they are flaky there. I tried not to re-enable such tests, but it's possible that I missed some and this will re-enable flaky tests on Windows. If so, we should disable them with UNSUPPORTED:system-windows and add a comment that they are flaky there. So far as I can tell, the lit internal shell is capable of running all of these tests, and we shouldn't use REQUIRES:shell as a proxy for Windows. llvm-svn: 371478
2019-08-28Revert "Change the X86 datalayout to add three address spaces for 32 bit ↵Vlad Tsyrklevich
signed," This reverts commit r370083 because it caused check-lld failures on sanitizer-x86_64-linux-fast. llvm-svn: 370142
2019-08-27Change the X86 datalayout to add three address spaces for 32 bit signed,Amy Huang
32 bit unsigned, and 64 bit pointers. llvm-svn: 370083
2018-10-05[llvm-nm] Write "no symbol" output to stderrPetr Hosek
This matches the output of binutils' nm and ensures that any scripts or tools that use nm and expect empty output in case there no symbols don't break. Differential Revision: https://reviews.llvm.org/D52943 llvm-svn: 343887
2018-10-03[llvm-nm] Update clang tests based on changed llvm-nm outputJordan Rupprecht
llvm-svn: 343744
2018-05-05[ThinLTO] Support opt remarks options with distributed ThinLTO backendsTeresa Johnson
Summary: Passes down the necessary code ge options to the LTO Config to enable -fdiagnostics-show-hotness and -fsave-optimization-record in the ThinLTO backend for a distributed build. Also, remove warning about not having PGO when the input is IR. Reviewers: pcc Subscribers: mehdi_amini, inglorion, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D46464 llvm-svn: 331592
2018-04-17Require shell for testTeresa Johnson
Attempt to fix windows bot which doesn't like the "(cd .." invocation added in r330194: http://lab.llvm.org:8011/builders/clang-with-thin-lto-windows/builds/8704/steps/stage%202%20check/logs/stdio llvm-svn: 330212
2018-04-17[ThinLTO] Pass -save-temps to LTO backend for distributed ThinLTO buildsTeresa Johnson
Summary: The clang driver option -save-temps was not passed to the LTO config, so when invoking the ThinLTO backends via clang during distributed builds there was no way to get LTO to save temp files. Getting this to work with ThinLTO distributed builds also required changing the driver to avoid a separate compile step to emit unoptimized bitcode when the input was already bitcode under -save-temps. Not only is this unnecessary in general, it is problematic for ThinLTO backends since the temporary bitcode file to the backend would not match the module path in the combined index, leading to incorrect ThinLTO backend index-based optimizations. Reviewers: pcc Subscribers: mehdi_amini, inglorion, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D45217 llvm-svn: 330194
2018-02-16[ThinLTO] Ignore object files with no ThinLTO modules if -fthinlto-index= is setVitaly Buka
Summary: ThinLTO compilation may decide not to split module and keep at as regular LTO. In this can this module already processed during indexing and already a part of merged object file. So here we can just skip it. Reviewers: pcc, tejohnson Reviewed By: tejohnson Subscribers: mehdi_amini, inglorion, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D42680 llvm-svn: 325410
2017-05-12Remove ignore-empty-index-file optionTeresa Johnson
Summary: Clang changes to remove this option and replace with a parameter always set in the context of a ThinLTO distributed backend. Depends on D33133. Reviewers: pcc Subscribers: mehdi_amini, eraman, cfe-commits Differential Revision: https://reviews.llvm.org/D33134 llvm-svn: 302940
2017-05-04Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in ↵Peter Collingbourne
the module summary. NFCI." with a fix for the clang backend. llvm-svn: 302176
2017-02-10Temporarily revert "For X86-64 linux and PPC64 linux align int128 to 16 bytes."Eric Christopher
until we can get better TargetMachine::isCompatibleDataLayout to compare - otherwise we can't code generate existing bitcode without a string equality data layout. This reverts commit r294703. llvm-svn: 294708
2017-02-10For X86-64 linux and PPC64 linux align int128 to 16 bytes.Eric Christopher
For other platforms we should find out what they need and likely make the same change, however, a smaller additional change is easier for platforms we know have it specified in the ABI. clang support for r294702 llvm-svn: 294703
2017-01-13Temporarily revert the test change in 291870, which is broken in certain ↵Dehao Chen
buildbots. llvm-svn: 291874
2017-01-13Pass -fprofile-sample-use to lto backends.Dehao Chen
Summary: LTO backend will not invoke SampleProfileLoader pass even if -fprofile-sample-use is specified. This patch passes the flag down so that pass manager can add the SampleProfileLoader pass correctly. Reviewers: mehdi_amini, tejohnson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28588 llvm-svn: 291870
2017-01-12Revert r291774 which caused buildbot failure.Dehao Chen
llvm-svn: 291775
2017-01-12Pass -fprofile-sample-use to lto backends.Dehao Chen
Summary: LTO backend will not invoke SampleProfileLoader pass even if -fprofile-sample-use is specified. This patch passes the flag down so that pass manager can add the SampleProfileLoader pass correctly. Reviewers: mehdi_amini, tejohnson Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28588 llvm-svn: 291774
2017-01-07[ThinLTO] Specify target triple in new testTeresa Johnson
This should fix bot failures in this test. llvm-svn: 291310
2017-01-06[ThinLTO] Optionally ignore empty index fileTeresa Johnson
Summary: In order to simplify distributed build system integration, where actions may be scheduled before the Thin Link which determines the list of objects selected by the linker. The gold plugin currently will emit 0-sized index files for objects not selected by the link, to enable checking for expected output files by the build system. If the build system then schedules a backend action for these bitcode files, we want to be able to fall back to normal compilation instead of failing. Fallback is enabled under an option in LLVM (D28410), in which case a nullptr is returned from llvm::getModuleSummaryIndexForFile. Clang can just proceed with non-ThinLTO compilation in that case. I am investigating whether this can be addressed in our build system, but that is a longer term fix and so this enables a workaround in the meantime. Reviewers: mehdi_amini Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28362 llvm-svn: 291303
2016-12-28[ThinLTO] Add missing FileCheck invocationTeresa Johnson
One of the intended checks was not being performed. llvm-svn: 290671
2016-12-14LTO: Add support for multi-module bitcode files.Peter Collingbourne
Differential Revision: https://reviews.llvm.org/D27313 llvm-svn: 289621
2016-06-22Require an x86 target for the thinlto_backend.ll test.Peter Collingbourne
llvm-svn: 273361
2016-06-22Specify a target triple to fix the test on non-Linux.Peter Collingbourne
llvm-svn: 273356
2016-06-22CodeGen: Replace test/CodeGen/thinlto_backend.c with a functional test.Peter Collingbourne
This new test tests that functions are capable of being imported, rather than that the import pass is run. This new test is compatible with the approach being developed in D20268 which runs the importer on its own rather than in a pass. Differential Revision: http://reviews.llvm.org/D21542 llvm-svn: 273347