Commit
c447e5d90e8624e69620c1876917601d905e7e35
by llvm-devBranchProbabilityInfo - fix uninitialized variable warning. NFCI.
|
 | llvm/include/llvm/Analysis/BranchProbabilityInfo.h |
Commit
216dab915285c5b9e2c56be9b6541f35ccb96303
by llvm-devLoopAccessAnalysis - fix uninitialized variable warnings. NFCI.
|
 | llvm/include/llvm/Analysis/LoopAccessAnalysis.h |
Commit
cca01c0347e85f184f06676a421bb8456e7cfa36
by llvm-devCodeGenInstruction - fix uninitialized variable warnings. NFCI.
|
 | llvm/utils/TableGen/CodeGenInstruction.h |
Commit
1b986b41ac40c9df82cc98ea4238d463e217bb25
by llvm-dev[CostModel][X86] Add add/fadd reduction tests for SLM
|
 | llvm/test/Analysis/CostModel/X86/reduce-add.ll |
 | llvm/test/Analysis/CostModel/X86/reduction.ll |
Commit
7681435de148cf7a1c7db1b0daba0497630989d2
by paulhoad[clang-format] Assert that filenames are not empty Summary: Adds asserts to catch empty filenames, which otherwise will cause a crash in SourceManager. The clang-format tool now outputs an error if an empty filename is used. Fixes bug: 34667 Reviewers: krasimir, djasper, MyDeveloperDay Reviewed By: MyDeveloperDay Subscribers: cfe-commits Patch by: @jr Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D56345
|
 | clang/tools/clang-format/ClangFormat.cpp |
Commit
3ddac7e563633632d4a3e673f3224ee66e1a717e
by paulhoad[clang-format] [RELAND] Remove the dependency on frontend Summary: relanding {D68969} after it failed UBSAN build caused by the passing of an invalid SMLoc() (nullptr) Reviewers: thakis, vlad.tsyrklevich, klimek, mitchell-stellar Reviewed By: thakis Subscribers: merge_guards_bot, mgorny, cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D69854
|
 | clang/tools/clang-format/ClangFormat.cpp |
 | clang/tools/clang-format/CMakeLists.txt |
Commit
a091f70610687202104ad75a916048a190d872c2
by llvm-dev[CostModel][X86] Improve add vXi64 + fadd vXf64 reduction tests for SLM As noted on D59710 we weren't handling the high costs of these operations on SLM.
|
 | llvm/test/Analysis/CostModel/X86/reduction.ll |
 | llvm/test/Analysis/CostModel/X86/reduce-add.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
Commit
ba73aad4f64f52f2acb5394210ed829355b44383
by craig.topper[X86] Add 'mmx' to all CPUs that have a version of 'sse' and weren't already enabling '3dnow' All SSE capable CPUs have MMX. 3dnow implicitly enables MMX. We have code that detects if sse is enabled and implicitly enables MMX unless -mno-mmx is passed. So in most cases we were already enabling MMX if march passed a CPU that supported SSE. The exception to this is if you pass -march for a cpu supports SSE and also pass -mno-sse. We should still enable MMX since its part of the CPU capability.
|
 | clang/lib/Basic/Targets/X86.cpp |
 | clang/test/Preprocessor/x86_target_features.c |
Commit
a8ccb48f697d3fbe85c593248ff1053fdf522a6e
by craig.topper[X86] Add 'fxsr' feature to -march=pentium2 to match X86.td and gcc.
|
 | clang/lib/Basic/Targets/X86.cpp |
 | clang/test/Preprocessor/predefined-arch-macros.c |
Commit
cbc872a63f81ad9482bb288165af63d7444fa3ed
by Saleem Abdulrasoolunwind: disable RTTI during the build of libunwind Disable the type information emission for libunwind. libunwind does not use `dynamic_cast`. This results in a smaller binary, and more importantly, avoids the dependency on libc++abi. This ensures that we have complete symbol resolution of symbols on ELF targets without linking to the C++ runtime support library. This change avoids the emission of a reference to `__si_class_type_info`.
|
 | libunwind/src/CMakeLists.txt |
Commit
ca7f5becf9b71c23c8980d3a7280e4408e28bad2
by Dávid Bolvanský[X86ISelLowering] Fixed typo in assert. NFCI.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
ad70d5f39ae99d9f5be582ad8979830f588e6802
by llvm-dev[X86] Fix SLM v2f64 ADD/MUL + FP BLEND/HADD instruction schedules Noticed while fixing the reduction costs for D59710 - the SLM model doesn't account for the poor throughput of v2f64/v2i64 ops.
|
 | llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s |
 | llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s |
 | llvm/lib/Target/X86/X86ScheduleSLM.td |
 | llvm/test/tools/llvm-mca/X86/SLM/resources-sse3.s |
Commit
1786047b910506e5a2189cadb8791bd2504b855e
by llvm-dev[X86] Fix SLM v2i64 ADD/Sub/CMPEQ instruction schedules Noticed while fixing the reduction costs for D59710 - the SLM model doesn't account for the poor throughput of v2i64 ops. Numbers taken from Intel AOM (+ checked against Agner)
|
 | llvm/test/tools/llvm-mca/X86/SLM/resources-sse2.s |
 | llvm/test/tools/llvm-mca/X86/SLM/resources-sse41.s |
 | llvm/lib/Target/X86/X86ScheduleSLM.td |
Commit
dad7a185101d23598d82147a4feed486ba0abafb
by Dávid Bolvanský[X86TargetTransformInfo] Fixed warning: Expression 'ISD == ISD::UREM' is always true. NFCI.
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
Commit
6da58e7e0fac1e421d6a5a6e48ed8836c67ac543
by Steven Wu[Object][MachO] Rewrite macho-invalid-fat-arch-size into YAML Summary: Rewrite one of the invalid macho test input file with YAML file. The original invalid macho is breaking our internal test infrastusture because it is too broken to be copy around. Need to relax an assertion in the YAML/MachoEmitter to allow yaml2obj to write an invalid object like this. rdar://problem/56879982 Reviewers: beanz, mtrent Reviewed By: beanz Subscribers: hiraditya, jkorous, dexonsmith, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69856
|
 | llvm/test/Object/Inputs/macho-invalid-fat-arch-size.yaml |
 | llvm/test/Object/macho-invalid.test |
 | llvm/lib/ObjectYAML/MachOEmitter.cpp |
 | llvm/test/Object/Inputs/macho-invalid-fat-arch-size |
Commit
52af7aedfe5dd5cfb1a6f486040a2549bbdbcf93
by qcolombet[GISel][ArtifactCombiner] Relax the constraint to combine unmerge with concat_vectors The combine G_UNMERGE_VALUES with G_CONCAT_VECTORS used to only be performed when the result type of the G_UNMERGE_VALUES was a vector type. In other words, we were expecting that the G_UNMERGE_VALUES was effectively the exact opposite of the G_CONCAT_VECTORS. Lift that constraint by allowing any G_UNMERGE_VALUES to be combined with any G_CONCAT_VECTORS (as long as the size of the different pieces that we merge/unmerge match). Differential Revision: https://reviews.llvm.org/D69288
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalizer-combiner.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/integration-shuffle-vector.ll |
 | llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir |
Commit
6740a88dc18d0be14926a5e709bd5062e31ee81c
by daltenty[NFC] Add SUPPORT_PLUGINS to add_llvm_executable() Summary: this allows us to move logic about when it is appropriate set LLVM_NO_DEAD_STRIP out of each tool and into add_llvm_executable, which will enable future platform specific handling. This is a follow on to the reverted D69356 Reviewers: hubert.reinterpretcast, beanz, lhames Reviewed By: beanz Subscribers: mgorny, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D69638
|
 | clang/tools/driver/CMakeLists.txt |
 | llvm/tools/opt/CMakeLists.txt |
 | llvm/tools/bugpoint/CMakeLists.txt |
 | llvm/tools/llc/CMakeLists.txt |
 | llvm/cmake/modules/AddLLVM.cmake |
Commit
2293b3f169a27232a9f208ae157517b96ff9a4f0
by Steven WuFix a typo in my previous commit
|
 | llvm/lib/ObjectYAML/MachOEmitter.cpp |
Commit
b5913e6d2f6d13fb753df701619731ca11936316
by alexshapIntroduce llvm-install-name-tool This diff adds a new "driver" for llvm-objcopy which is supposed to emulate the behavior of install-name-tool. Differential revision: https://reviews.llvm.org/D69146 Test plan: make check-all
|
 | llvm/tools/llvm-objcopy/CopyConfig.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml |
 | llvm/tools/llvm-objcopy/CMakeLists.txt |
 | llvm/tools/llvm-objcopy/CopyConfig.h |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/tools/llvm-objcopy/MachO/Object.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test |
 | llvm/tools/llvm-objcopy/InstallNameToolOpts.td |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test |
 | llvm/tools/llvm-objcopy/MachO/Object.h |
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml |
Commit
eadb65f273c076c4997b28a51f086eea505c3e78
by paulhoad[clang-format] [NFC] update the documentation in Format.h to allow dump_format_style.py to get a little closer to being correct. (part 2) Summary: a change {D67541} cause LanguageStandard to now be subtly different from all other clang-format options, in that the Enum value (less the prefix) is not always allowed as valid as the configuration option. This caused the ClangFormatStyleOptions.rst and the Format.h to diverge so that the ClangFormatStyleOptions.rst could no longer be generated from the Format.h using dump_format_stlye.py This fix tried to remedy that: 1) by allowing an additional comment (in Format.h) after the enum to be used as the `in configuration ( XXXX )` text, and changing the dump_format_style.py to support that. This makes the following code: ``` enum { ... LS_Cpp03, // c++03 LS_Cpp11, // c++11 ... }; ``` would render as: ```* ``LS_Cpp03`` (in configuration: ``c++03``) * ``LS_Cpp11`` (in configuration: ``c++11``) ``` And we also move the deprecated alias into the text of the enum (otherwise it won't be added at the end as an option) This patch includes a couple of other whitespace changes which help bring Format.h and ClangFormatStyleOptions.rst almost back into line and regeneratable... (there is still one more) Reviewers: klimek, mitchell-stellar, sammccall Reviewed By: mitchell-stellar, sammccall Subscribers: mrexodia, cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D69433
|
 | clang/docs/tools/dump_format_style.py |
 | clang/include/clang/Format/Format.h |
 | clang/docs/ClangFormatStyleOptions.rst |
Commit
35cf9a1fc5d2ab7c171c968737092874676ce8ea
by efriedma[AArch64] Re-add patterns for (s/u)mull2. These patterns were added in D46009, but removed in D54276 due to missing test coverage. Differential Revision: https://reviews.llvm.org/D69831
|
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/test/CodeGen/AArch64/aarch64-smull.ll |
Commit
641d2e5232b423a7dd81afac94dd3db4412a4971
by craig.topper[X86] Clamp large constant shift amounts for MMX shift intrinsics to 8-bits. The MMX intrinsics for shift by immediate take a 32-bit shift amount but the hardware for shifting by immediate only encodes 8-bits. For the intrinsic we don't require the shift amount to fit in 8-bits in the frontend because we don't check that its an immediate in the frontend. If its is not an immediate we move it to an MMX register and use the shift by register. But if it is an immediate we'll use the shift by immediate instruction. But we need to change the shift amount to 8-bits. We were previously doing this accidentally by masking it in the encoder. But this can make a large shift amount into a small in bounds shift amount. Instead we should clamp larger shift amounts to 255 so that the they don't become in bounds. Fixes PR43922
|
 | llvm/test/CodeGen/X86/mmx-arith.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
6cecd3c3dbef48eca6c4cf2dcc2df3290ab91488
by jdenny.ornl[lit] Protect full test suite from FILECHECK_OPTS lit's test suite calls lit multiple times for various sample test suites. `FILECHECK_OPTS` is safe for FileCheck calls in lit's test suite. It's not safe for FileCheck calls in the sample test suites, whose output affects the results of lit's test suite. Without this patch, only one such sample test suite is protected from `FILECHECK_OPTS`, and currently `shtest-shell.py` breaks with `FILECHECK_OPTS=-vv`. Moreover, it's hard to predict the future, especially false passes. Thus, this patch protects all existing and future sample test suites from `FILECHECK_OPTS` (and the deprecated `FILECHECK_DUMP_INPUT_ON_FAILURE`). Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D65156
|
 | llvm/utils/lit/tests/shtest-run-at-line.py |
 | llvm/utils/lit/tests/lit.cfg |
Commit
9bfa5ab3d1982a7cef60ee00b935f4ddc89fc98e
by listmail[LoopPred] Fix two subtle issues found by inspection This patch fixes two issues noticed by inspection when going to enable the loop predication code in IndVarSimplify. Issue 1 - Both the LoopPredication transform, and the already on by default optimizeLoopExits transform, modify the exit count of the exits they modify. (either to 0 or Infinity) Looking at the code more closely, this was not reflected into SCEV and we were instead running later transforms with incorrect SCEVs. Fixing this requires forgetting the loop, weakening a too strong assert, and updating SCEV to not pessimize results when a loop is provable untaken. I haven't been able to find a test case to demonstrate the miscompile. Issue 2 - For modules without a data layout, we can end up with unsized pointer typed exit counts. Just bail out of this case. I think these are the last two issues which need addressed before we enable this by default. The code has already survived a decent amount of fuzzing without revealing either of the above. Differential Revision: https://reviews.llvm.org/D69695
|
 | llvm/lib/Transforms/Scalar/IndVarSimplify.cpp |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
77a60f0df673074a2c9276498f95a9eaadeece56
by hhb[lldb] Record framework build path and use it everywhere This avoids config time dependencies on liblldb. And enables other refactoring.
|
 | lldb/cmake/modules/AddLLDB.cmake |
 | lldb/tools/lldb-vscode/CMakeLists.txt |
 | lldb/test/API/CMakeLists.txt |
 | lldb/CMakeLists.txt |
 | lldb/cmake/modules/LLDBFramework.cmake |
 | lldb/cmake/modules/LLDBConfig.cmake |
 | lldb/tools/driver/CMakeLists.txt |
 | lldb/tools/debugserver/source/CMakeLists.txt |
Commit
62ad2128255877ed41c714366861eee9c1da30dd
by Dávid Bolvanský[Analysis] Attribute deref/deref_or_null should not prevent tail call optimization
|
 | llvm/test/CodeGen/X86/tail-call-deref.ll |
 | llvm/lib/CodeGen/Analysis.cpp |
Commit
686f449e3d4ecad6413427aef35557f5adac100c
by listmail[WC] Fix a subtle bug in our definition of widenable branch We had a subtle, but nasty bug in our definition of a widenable branch, and thus in the transforms which used that utility. Specifically, we returned true for any branch which included a widenable condition within it's condition, regardless of whether that widenable condition also had other uses. The problem is that the result of the WC() call is defined to be one particular value. As such, all users must agree as to what that value is. If we widen a branch without also updating *all other users* of the WC in the same way, we have broken the required semantics. Most of the textual diff is updating existing transforms not to leave dead uses hanging around. They're largely NFC as the dead instructions would be immediately deleted by other passes. The reason to make these changes is so that the transforms preserve the widenable branch form. In practice, we don't get bitten by this only because it isn't profitable to CSE WC() calls and the lowering pass from guards uses distinct WC calls per branch. Differential Revision: https://reviews.llvm.org/D69916
|
 | llvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll |
 | llvm/lib/Analysis/GuardUtils.cpp |
 | llvm/test/Transforms/SimplifyCFG/wc-widen-block.ll |
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
 | llvm/lib/Transforms/Scalar/GuardWidening.cpp |
 | llvm/test/Transforms/GuardWidening/mixed_guards.ll |
Commit
f0f73ed8b004d213a3710b7b850e09c5bbd8e93d
by kazu[JumpThreading] Factor out code to clone instructions (NFC) Summary: This patch factors out code to clone instructions -- partly for readability and partly to facilitate an upcoming patch of my own. Reviewers: wmi Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69861
|
 | llvm/include/llvm/Transforms/Scalar/JumpThreading.h |
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
Commit
007d173e2e0c29903bc17a9d5108f531a6f2ea4d
by alexandre.ganea[Orc] Fix iterator usage after remove Differential Revision: https://reviews.llvm.org/D69805
|
 | llvm/lib/ExecutionEngine/Orc/Core.cpp |
Commit
83393d27af6631d1df5c549feb214abbdd1d6054
by shafik[LLDB] Fix handling for the clang name mangling extension for block invocations Add support for clangs mangling extension for block invocations. Differential Revision: https://reviews.llvm.org/D69738
|
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h |
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp |
 | lldb/source/Core/Mangled.cpp |
 | lldb/include/lldb/Core/Mangled.h |
 | lldb/unittests/Core/MangledTest.cpp |
Commit
8243918f43c6eedc2b018c1edc9c6b72fe9b3c1e
by Fred RissTestuite: Support Asan test with remote testing To do so, we need to register the sanitizer libraries with the target so that they get uploaded before running. This patch adds a helper to the test class to this effect.
|
 | lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
Commit
76aee8a389447409905c58b178b0554c9bae8a0a
by Lang Hames[JITLink] Refactor EH-frame handling to support eh-frames with existing relocs. Some targets (E.g. MachO/arm64) use relocations to fix some CFI record fields in the eh-frame section. When relocations are used the initial (pre-relocation) content of the eh-frame section can no longer be interpreted by following the eh-frame specification. This causes errors in the existing eh-frame parser. This patch moves eh-frame handling into two LinkGraph passes that are run after relocations have been parsed (but before they are applied). The first] pass breaks up blocks in the eh-frame section into per-CFI-record blocks, and the second parses blocks of (potentially multiple) CFI records and adds the appropriate edges to any CFI fields that do not have existing relocations. These passes can be run independently of one another. By handling eh-frame splitting/fixing with LinkGraph passes we can both re-use existing relocations for CFI record fields and avoid applying eh-frame fixups before parsing the section (which would complicate the linker and require extra temporary allocations of working memory).
|
 | llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp |
 | llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_arm64_ehframe.o |
 | llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp |
 | llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h |
 | llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h |
 | llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h |
 | llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp |
 | llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp |
 | llvm/test/ExecutionEngine/JITLink/AArch64/MachO_arm64_ehframe.test |
Commit
b5ddcb9f1e41b142f89110fc9be78b3c6997f090
by lebedev.ri[ConstantRange] TestAddWithNo*WrapExhaustive: check that all overflow means empty set As disscussed in https://reviews.llvm.org/D69918 / https://reviews.llvm.org/D67339 that is an implied postcondition, but it's not really fully tested.
|
 | llvm/unittests/IR/ConstantRangeTest.cpp |
Commit
365d729e1075a9391b7520306d8d9beee84d52b5
by lebedev.ri[ConstantRange] Cleanup addWithNoWrap() by just piggybacking on sadd_sat()/uadd_sat() As discussed in https://reviews.llvm.org/D69918 that happens to work as intended, and returns empty set if there is always an overflow because we get lucky with intersection. Since there's now an explicit test for that, let's prefer cleaner code.
|
 | llvm/lib/IR/ConstantRange.cpp |
Commit
7fbe5d4b2ab905792158669149ae4f547761ac9c
by lebedev.ri[ConstantRange] Add `subWithNoWrap()` method Summary: Much like D67339, adds ConstantRange handling for when we know no-wrap behavior of the `sub`. Unlike addWithNoWrap(), we only get lucky re returning empty set for signed wrap. For unsigned, we must perform overflow check manually. A patch that makes use of this in LVI (CVP) to be posted later. Reviewers: nikic, shchenz, efriedma Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69918
|
 | llvm/include/llvm/IR/ConstantRange.h |
 | llvm/unittests/IR/ConstantRangeTest.cpp |
 | llvm/lib/IR/ConstantRange.cpp |