Page MenuHomePhabricator

Trim unnecessary component/library dependencies.
Changes PlannedPublic

Authored by alxu on Feb 22 2022, 5:34 PM.

Diff Detail

Unit TestsFailed

TimeTest
60,090 msx64 debian > AddressSanitizer-x86_64-linux-dynamic.TestCases::scariness_score_test.cpp
Script: -- : 'RUN: at line 4'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -O0 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/scariness_score_test.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Output/scariness_score_test.cpp.tmp
60,090 msx64 debian > AddressSanitizer-x86_64-linux.TestCases::scariness_score_test.cpp
Script: -- : 'RUN: at line 4'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -O0 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/scariness_score_test.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/scariness_score_test.cpp.tmp
60,020 msx64 debian > libFuzzer.libFuzzer::fuzzer-leak.test
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/LeakTest.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/fuzzer-leak.test.tmp-LeakTest
60,040 msx64 debian > libFuzzer.libFuzzer::large.test
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/LargeTest.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/large.test.tmp-LargeTest
60,020 msx64 debian > libFuzzer.libFuzzer::minimize_crash.test
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/NullDerefTest.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/minimize_crash.test.tmp-NullDerefTest

Event Timeline

alxu created this revision.Feb 22 2022, 5:34 PM
alxu created this object with visibility "alxu (Alex Xu (Hello71))".
alxu created this object with edit policy "alxu (Alex Xu (Hello71))".
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptFeb 22 2022, 5:34 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
alxu requested review of this revision.Feb 22 2022, 5:34 PM
Herald added projects: Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project. · View Herald TranscriptFeb 22 2022, 5:34 PM
alxu planned changes to this revision.Feb 22 2022, 5:39 PM
alxu removed a reviewer: Restricted Project.Feb 22 2022, 6:12 PM
alxu changed the visibility from "alxu (Alex Xu (Hello71))" to "Public (No Login Required)".
alxu changed the edit policy from "alxu (Alex Xu (Hello71))" to "All Users".

Please expand the description and include how you figured this out and how do we know it is actually correct.

yota9 removed a subscriber: yota9.Feb 23 2022, 1:23 AM

Mostly a review of the clangd changes, I am not familiar with all the other parts (and not necessarily everyone will be) hence some explicit testing results would be great.
Also please upload the patch with full context.

clang-tools-extra/clangd/CMakeLists.txt
41

clangd actually requires AllTargetsInfos so that it can display detailed semantic information like bitwidth of certain types. not just on the final binary (as I see you've included this on the tool/CMakeLists.txt), there are also tests that depend on it.

clang-tools-extra/clangd/indexer/CMakeLists.txt
11

these are all required dependencies of clangd-indexer. i suppose you're getting rid of these as they're transitively linked in by clangDeamon, but I remember some build configurations (shared lib builds) still requiring these to be present at these levels as well. i might be wrong, but it would be better to show some explicit testing results claiming these are not causing breakages (as Mehdi pointed out).

clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
35

this might require extra cleanups on the headers of some sources.

Relying on implicit dependencies doesn't often work very well - please can you confirm what kind of builds you have tested this with? Which projects? shared libs? build types?

martong removed a subscriber: martong.May 5 2022, 6:03 AM
Herald added a project: Restricted Project. · View Herald Transcript