- Feb 05, 2020
-
-
Yitzhak Mandelbaum authored
Summary: Spells out some `auto`s explicitly and adds another test for the matcher `isExpandedFromMacro`. Reviewers: aaron.ballman Subscribers: gribozavr, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73975
-
Hiroshi Yamauchi authored
Summary: Add a debug check for frequency queries for unknown blocks (typically blocks that are created after BFI is computed but their frequencies are not communicated to BFI.) This is useful for detecting and debugging missed BFI updates. This is debug build only and disabled behind a flag. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73920
-
Sanjay Patel authored
Existing tests: rG5d04e008 rG2a191cf8 ...should verify that the underlying analysis doesn't improve too much without updating this user code.
-
Matt Arsenault authored
AMDGPU and x86 at least both have separate controls for whether denormal results are flushed on output, and for whether denormals are implicitly treated as 0 as an input. The current DAGCombiner use only really cares about the input treatment of denormals.
-
Stephen Neuendorffer authored
-
Fangrui Song authored
Similar to D73680 (AArch64 BTI). A local linkage function whose address is not taken does not need ENDBR32/ENDBR64. Placing the patch label after ENDBR32/ENDBR64 has the advantage that code does not need to differentiate whether the function has an initial ENDBR. Also, add 32-bit tests and test that .cfi_startproc is at the function entry. The line information has a general implementation and is tested by AArch64/patchable-function-entry-empty.mir Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D73760
-
Fangrui Song authored
Reviewed By: hans Differential Revision: https://reviews.llvm.org/D73937
-
David Spickett authored
Differential Revision: https://reviews.llvm.org/D73972
-
Peter Collingbourne authored
By subtracting 1 from Size at the beginning we can simplify the subsequent calculations. This also saves 4 instructions on aarch64 and 9 instructions on x86_64, but seems to be perf neutral. Differential Revision: https://reviews.llvm.org/D73936
-
Yonghong Song authored
Linux commit https://github.com/torvalds/linux/commit/1cf5b23988ea0086a252a5c8b005b075f1e9b030#diff-289313b9fec99c6f0acfea19d9cfd949 uses "#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)" to apply CO-RE relocations to all records including the following pattern: #pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) typedef struct { int a; } __t; #pragma clang attribute pop int test(__t *arg) { return arg->a; } The current approach to use struct type in the relocation record will result in an anonymous struct, which make later type matching difficult in bpf loader. In fact, current BPF backend will fail the above program with assertion: clang: ../lib/Target/BPF/BPFAbstractMemberAccess.cpp:796: ... Assertion `TypeName.size()' failed. The patch use the base lvalue type for the "base" value to annotate preservee_{struct,union}_access_index intrinsics. In the above example, the type will be "__t" which preserved the type name. Differential Revision: https://reviews.llvm.org/D73900
-
Cameron McInally authored
Fix incorrect spacing for `denormal-fp-math` and `denormal-fp-math-f32`. No other changes.
-
Stephen Neuendorffer authored
Summary: This patch is a step towards enabling BUILD_SHARED_LIBS=on, which builds most libraries as DLLs instead of statically linked libraries. The main effect of this is that incremental build times are greatly reduced, since usually only one library need be relinked in response to isolated code changes. The bulk of this patch is fixing incorrect usage of cmake, where library dependencies are listed under add_dependencies rather than under target_link_libraries or under the LINK_LIBS tag. Correct usage should be like this: add_dependencies(MLIRfoo MLIRfooIncGen) target_link_libraries(MLIRfoo MLIRlib1 MLIRlib2) A separate issue is that in cmake, dependencies between static libraries are automatically included in dependencies. In the above example, if MLIBlib1 depends on MLIRlib2, then it is sufficient to have only MLIRlib1 in the target_link_libraries. When compiling with shared libraries, it is necessary to have both MLIRlib1 and MLIRlib2 specified if MLIRfoo uses symbols from both. Reviewers: mravishankar, antiagainst, nicolasvasilache, vchuravy, inouehrs, mehdi_amini, jdoerfert Reviewed By: nicolasvasilache, mehdi_amini Subscribers: Joonsoo, merge_guards_bot, jholewinski, mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73653
-
Yonghong Song authored
Linux commit https://github.com/torvalds/linux/commit/1cf5b23988ea0086a252a5c8b005b075f1e9b030#diff-289313b9fec99c6f0acfea19d9cfd949 uses "#pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record)" to apply CO-RE relocations to all records including the following pattern: #pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) typedef struct { int a; } __t; #pragma clang attribute pop int test(__t *arg) { return arg->a; } The current approach to use struct/union type in the relocation record will result in an anonymous struct, which make later type matching difficult in bpf loader. In fact, current BPF backend will fail the above program with assertion: clang: ../lib/Target/BPF/BPFAbstractMemberAccess.cpp:796: ... Assertion `TypeName.size()' failed. clang will change to use the type of the base of the member access which will preserve the typedef modifier for the preserve_{struct,union}_access_index intrinsics in the above example. Here we adjust BPF backend to accept that the debuginfo type metadata may be 'typedef' and handle them properly. Differential Revision: https://reviews.llvm.org/D73902
-
Yitzhak Mandelbaum authored
Summary: This revision adds a matcher `isExpandedFromMacro` that determines whether a statement is (transitively) expanded from a given macro. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73965
-
Justin Hibbits authored
rG2c4620ad inadvertently added redundancies in selection of GT and LE predicates for SPE. Correct this. Partially addresses PR 44768.
-
David Spickett authored
Differential Revision: https://reviews.llvm.org/D73469
-
Sam McCall authored
Summary: This is a fairly ugly hack - we back off several features for any variable whose type isn't deduced, to avoid computing/caching linkage. Better suggestions welcome. Fixes https://github.com/clangd/clangd/issues/274 Reviewers: kadircet, kbobyrev Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73960
-
Sam McCall authored
This reverts commit ed98994f. Removed the accidental double-mutex-unlock.
-
Kazushi (Jam) Marukawa authored
Summary: fp16 (half) load+fpext and fptrunc+store isel legalization and tests. Also, ExternalSymbolSDNode operand printing (tested by fp16 lowering). Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D73899
-
- Feb 04, 2020
-
-
Jonas Paulsson authored
Needed to fix buildbots.
-
Jonas Paulsson authored
This is needed when building the Linux kernel. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D72189
-
Nico Weber authored
This reverts commit 5327b917. Already fails on non-Linux at this commit.
-
Nico Weber authored
and follow-ups. This reverts commit 1ced28cb. This reverts commit 4f281f04. This reverts commit 552a8fe1. The test fails on non-Linux.
-
Jeremy Morse authored
This patch reverts part of r362750 / D62650, which stopped LiveDebugVariables from trimming leading variable location ranges down to only covering those instructions that are in scope. I've observed some circumstances where the number of DBG_VALUEs in a function can be amplified in an un-necessary way, to cover more instructions that are out of scope, leading to very slow compile times. Trimming the range of instructions that the variables cover solves the slow compile times. The specific problem that r362750 tries to fix is addressed by the assignment to RStart that I've added. Any variable location that begins at the first instruction of a block will now be considered to begin at the start of the block. While these sound the same, the have different SlotIndexes, and the register allocator may shoehorn additional instructions in between the two. The test added in the past (wrong_debug_loc_after_regalloc.ll) still works with this modification. live-debug-variables.ll has a range trimmed to not cover the prologue of the function, while dbg-addr-dse.ll has a DBG_VALUE sink past one instruction with no DebugLoc, which is expected behaviour. Differential Revision: https://reviews.llvm.org/D73691
-
Mikhail Maltsev authored
Summary: After following Simon's suggestion about additional testing posted at https://reviews.llvm.org/D73906, I found several more places that need to be updated. Reviewers: simon_tatham, dmgreen, ostannard, eli.friedman Reviewed By: simon_tatham Subscribers: merge_guards_bot, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73963
-
Sam McCall authored
This reverts commit 92570718. Breaking tests: http://45.33.8.238/linux/9296/step_9.txt
-
Krzysztof Parzyszek authored
-
Sam McCall authored
Summary: By default it's 512K, which is way to small for clang parser to run on. There is no way to do it via platform-independent API, so it's implemented via pthreads directly in clangd/Threading.cpp. Fixes https://github.com/clangd/clangd/issues/273 Patch by Dmitry Kozhevnikov! Reviewers: ilya-biryukov, sammccall, arphaman Reviewed By: ilya-biryukov, sammccall, arphaman Subscribers: dexonsmith, umanwizard, jfb, ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D50993
-
Sanjay Patel authored
-
Jan Kratochvil authored
[lldb] [testsuite] Fixup: generalize `DWARFASTParserClangTests` based on `DWARFExpressionTest`'s YAML The testcase did not compile now because of an upstream change in the meantime. For: https://reviews.llvm.org/D73279
-
Lei Zhang authored
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D73955
-
Lei Zhang authored
This commit adds two resource limits, max_compute_workgroup_size and max_compute_workgroup_invocations as resource limits to the target environment. They are not used at the current moment, but they will affect the SPIR-V CodeGen. Adding for now to have a proper target environment modelling. Differential Revision: https://reviews.llvm.org/D73905
-
Jan Kratochvil authored
YAMLModuleTester from DWARFExpressionTest can be reused for more testcases. Differential Revision: https://reviews.llvm.org/D73279
-
Jan Kratochvil authored
On Fedora 30 x86_64 with cmake ../llvm-monorepo/llvm/ -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold -DLLVM_ENABLE_PROJECTS="lldb;clang;lld" -DLLVM_USE_SPLIT_DWARF=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_ASSERTIONS=ON It does not affect Release builds. getting: lldb/source/Expression/IRInterpreter.cpp:1471: error: undefined reference to 'lldb_private::ThreadPlanCallFunctionUsingABI::ThreadPlanCallFunctionUsingABI(lldb_private::Thread&, lldb_private::Address const&, llvm::Type&, llvm::Type&, llvm::ArrayRef<lldb_private::ABI::CallArgument>, lldb_private::EvaluateExpressionOptions const&)' lldb/source/Expression/LLVMUserExpression.cpp:148: error: undefined reference to 'lldb_private::ThreadPlanCallUserExpression::ThreadPlanCallUserExpression(lldb_private::Thread&, lldb_private::Address&, llvm::ArrayRef<unsigned long>, lldb_private::EvaluateExpressionOptions const&, std::shared_ptr<lldb_private::UserExpression>&)' Pavel Labath has suggest LINK_INTERFACE_MULTIPLICITY could be further increased. Differential Revision: https://reviews.llvm.org/D73847
-
Sanjay Patel authored
-
Sanjay Patel authored
This is a bug noted in the recent D72733 and seen in the similar transform just above the changed source code. I added tests with illegal types and zexts to show the bug - we could transform legal phi ops to illegal, etc. I did not add tests with trunc because we won't see any diffs on those patterns. That is because InstCombiner::SliceUpIllegalIntegerPHI() appears to do those transforms independently of datalayout. It can also create more casts than are present in existing code. There are some existing regression tests that do not include a datalayout that would be altered by this fix. I assumed that the lack of a datalayout in those regression files is an oversight, so I added the minimal layout (make i32 legal) necessary to preserve behavior on those tests. Differential Revision: https://reviews.llvm.org/D73907
-
Florian Hahn authored
matrix.columnwise.load and matrix.columnwise.store only access memory through the argument pointers. Also matrix.columnwise.store only writes memory.
-
Georgii Rymar authored
This is a LLVM specific section that is well described here: https://llvm.org/docs/Extensions.html#sht-llvm-call-graph-profile-section-call-graph-profile This patch teaches yaml2obj and obj2yaml about how to work with it. Differential revision: https://reviews.llvm.org/D73788
-
Sam McCall authored
Summary: Currently we delay AST rebuilds by 500ms after each edit, to wait for further edits. This is a win if a rebuild takes 5s, and a loss if it takes 50ms. This patch sets debouncepolicy = clamp(min, ratio * rebuild_time, max). However it sets min = max = 500ms so there's no policy change or actual customizability - will do that in a separate patch. See https://github.com/clangd/clangd/issues/275 Reviewers: hokein Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73873
-