- Feb 12, 2021
-
-
Amara Emerson authored
The builder was using the extend user as the insertion point, which meant that we were incorrectly "moving" the load from its original position, and therefore could violate memory operation ordering.
-
Fangrui Song authored
Before d08bd13a, only `SymbolRef::ST_Function` symbols were used for .symtab symbolization. That commit added a `"DATA"` mode to llvm-symbolizer which used `SymbolRef::ST_Data` symbols for symbolization. Since function and data symbols have different addresses, we don't need to differentiate the two modes. This patches unifies the two modes to simplify code. `"DATA"` is used by `compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp`. `check-hwasan` and `check-tsan` have runtime tests. Differential Revision: https://reviews.llvm.org/D96322
-
Tom Stellard authored
This reverts some of commit dbb01536. The Reporter module was still being used by the ScanView.py module and deleting it caused scan-view to fail. This commit adds back Reporter.py but removes the code the references the AppleScript files which were removed in dbb01536. Reviewed By: NoQ Differential Revision: https://reviews.llvm.org/D96367
-
Michael Kruse authored
These are implementation details of the IslScheduleOptimizer pass implementation and not use anywhere else. Hence, we can move them to the cpp file and into an anonymous namespace. Only getPartialTilePrefixes is, aside from the pass itself, used externally (by the ScheduleOptimizerTest) and moved into the polly namespace.
-
Aart Bik authored
Rationale: This computation failed ASAN for the following input (integer overflow during 4032000000000000000 * 100): tensor<100x200x300x400x500x600x700x800xf32> This change adds a simple overflow detection during debug mode (which we run more regularly than ASAN). Arguably this is an unrealistic tensor input, but in the context of sparse tensors, we may start to see cases like this. Bug: https://bugs.llvm.org/show_bug.cgi?id=49136 Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96530
-
Philip Reames authored
The motivation for this is that I'm looking at an example that uses shifts as induction variables. There's lots of other omissions, but one of the first I noticed is that we can't compute tight known bits. (This indirectly causes SCEV's range analysis to produce very poor results as well.) Differential Revision: https://reviews.llvm.org/D96440
-
Sam Clegg authored
This fixes two somewhat related issues. Firstly we were never generating imports for weak functions (even with the `import-functions` policy for undefined symbols). Adding a direct call to foo in the `weak-undefined-pic.s` exposed a crash in the linker which this change fixes. Secondly we were failing to call `handleWeakUndefines` for the `-pie` case which is PIC but doesn't set the undefined symbol policy to `import-functions`. With this change `-pie` binaries will by default call `handleWeakUndefines` which generates the undefined stub handlers for any weakly undefined symbols. Fixes: https://github.com/emscripten-core/emscripten/issues/13337 Differential Revision: https://reviews.llvm.org/D95914
-
Philip Reames authored
-
Philip Reames authored
-
Philip Reames authored
-
Vitaly Buka authored
-
Vitaly Buka authored
EarlyCSEPass called after msan redices code size by about 10%. Similar optimization exists for legacy pass manager in addGeneralOptsForMemorySanitizer. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D96406
-
Craig Topper authored
We can use a vnand.mm with the same register for both inputs. This avoids materializing an alls ones constant with vmset.mm.
-
Vitaly Buka authored
Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D96481
-
Julian Lettner authored
As discussed, these tests are compiled with optimization to mimic real sanitizer usage [1]. Let's mark relevant functions with `noinline` so we can continue to check against the stack traces in the report. [1] https://reviews.llvm.org/D96198 This reverts commit 04af72c5. Differential Revision: https://reviews.llvm.org/D96357
-
Valentin Clement authored
This patch is a follow up of D96422 and move BoxType to TableGen. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96476
-
Peter Collingbourne authored
It is possible for the GetSectionHeaderByIndex lookup to fail because the previous FindSectionContainingFileAddress lookup found a segment instead of a section. This is possible if the binary does not have a PLT (which means that lld will in some circumstances set DT_JMPREL to 0, which is typically an address that is part of the ELF headers and not in a section) and may also be possible if the section headers have been stripped. To handle this possibility, replace the assert with an if. Differential Revision: https://reviews.llvm.org/D93438
-
Dave Lee authored
`QueueThreadPlanForStepInRange` accepts a `step_into_target`, but the constructor for `ThreadPlanStepInRange` does not. Instead, a caller would optionally call `SetStepInTarget()` in a separate statement. This change adds `step_into_target` as a constructor argument. This simplifies construction of `ThreadPlanSP`, by avoiding a subsequent downcast and conditional assignment. This constructor is already used in downstream repos. Differential Revision: https://reviews.llvm.org/D96539
-
Hongtao Yu authored
Summary: The negative test (with the feature being added disabled) caused MSAN failure and that's the added feature is supposed to fix. Therefore the negative test code is being removed.
-
Dan Gohman authored
If crt1-command.o exists in the sysroot, the libc has new-style command support, so use it. Differential Revision: https://reviews.llvm.org/D89274
-
Nicolas Vasilache authored
The AffineMap in the MemRef inferred by SubViewOp may have uncompressed symbols which result in type mismatch on otherwise unused symbols. Make the computation of the AffineMap compress those unused symbols which results in better canonical types. Additionally, improve the error message to report which inferred type was expected. Differential Revision: https://reviews.llvm.org/D96551
-
ShihPo Hung authored
This patch handles cast-like insert_subvector & extract_subvector in which case: 1. index starts from 0. 2. inserting a fixed-width vector into a scalable vector, or extracting a fixed-width vector from a scalable vector. Reviewed By: craig.topper, frasercrmck Differential Revision: https://reviews.llvm.org/D96352
-
James Y Knight authored
The ability to specify alignment was recently added, and it's an important property which we should ensure is set as expected by Clang. (Especially before making further changes to Clang's code in this area.) But, because it's on the end of the lines, the existing tests all ignore it. Therefore, update all the tests to also verify the expected alignment for atomicrmw and cmpxchg. While I was in there, I also updated uses of 'load atomic' and 'store atomic', and added the memory ordering, where that was missing.
-
Jianzhou Zhao authored
Reviewed-by: morehouse Differential Revision: https://reviews.llvm.org/D96545
-
Hafiz Abid Qadeer authored
In D91442, @MaskRay commented about a failure. This commit does the following to address his comments: 1. Replace %T with %t as former is deprecated. 2. Add an explicit --sysroot argument in a test. Some tests were failing when gcc-10-riscv64-linux-gnu is installed on test machine. This was happening because the test was checking a case when --gcc-toolchain is not provided. But if --sysroot was also not provided then code could pick a toolchain installed in /usr. So to make the test more robust, I have provided an explicit --sysroot argument. Its value has been chosen to match the existing patterns. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D93023
-
Pengxuan Zheng authored
This adds SM3 and SM4 Intrinsics support for AArch64, specifically: vsm3ss1q_u32 vsm3tt1aq_u32 vsm3tt1bq_u32 vsm3tt2aq_u32 vsm3tt2bq_u32 vsm3partw1q_u32 vsm3partw2q_u32 vsm4eq_u32 vsm4ekeyq_u32 Reviewed By: labrinea Differential Revision: https://reviews.llvm.org/D95655 -
Guillaume Chatelet authored
-
AndreyChurbanov authored
Three minor changes in this patch: - added UNLIKELY hint to few rarely executed branches; - replaced couple of run time checks with debug assertions; - moved check of presence of ittnotify tool from inside the function call. Differential Revision: https://reviews.llvm.org/D95816
-
Hongtao Yu authored
Summary: The test doesn't work on Windows but there seems no good way to disable the test for Windows only so I'm undoing the test changes.
-
Douglas Yung authored
This change removes the XFAIL from the original test and duplicates the test into sanitize-coverage-old-pm.c which uses the old pass manager and has the corresponding XFAIL. This should fix the XPASS from this and similar runs: http://lab.llvm.org:8011/#/builders/60/builds/1875
-
Jonas Devlieghere authored
This test is failing on GreenDragon. Disabling it until I have bandwidth to investigate why the register values are different during replay.
-
Hansang Bae authored
This patch enables omp_get_num_devices() and omp_get_initial_device() on Windows by providing an alternative to dlsym on Windows, and proposes to add a new libomptarget entry, __tgt_get_num_devices(). Differential Revision: https://reviews.llvm.org/D96182
-
Guillaume Chatelet authored
-
Hongtao Yu authored
Functions are currently processed by the sample profiler loader in a top-down order defined by the static call graph. The order is being adjusted to be a top-down order based on the input context-sensitive profile. One benefit is that the processing order of caller and callee in one SCC would follow the context order in the profile to favor more inlining. Another benefit is that the processing order of caller and callee through an indirect call (which is not on the static call graph) can be honored which in turn allows for more inlining. The profile top-down order for SCC is also extended to support non-CS profiles. Two switches `-mllvm -use-profile-indirect-call-edges` and `-mllvm -use-profile-top-down-order` are being introduced. Reviewed By: wmi Differential Revision: https://reviews.llvm.org/D95988
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
This is a follow up patch to D83136 adding the align attribute to `cmpxchg`. See also D83465 for `atomicrmw`. Differential Revision: https://reviews.llvm.org/D87443
-
Guillaume Chatelet authored
This is a follow up patch to D83136 adding the align attribute to `atomicwmw`. Differential Revision: https://reviews.llvm.org/D83465
-
Stanislav Mekhanoshin authored
If we have an instruction where more than one pointer operands are derived from the same promoted alloca, we are fixing it for one argument and do not fix a second use considering this user done. Fix this by deferring processing of memory intrinsics until all potential operands are replaced. Fixes: SWDEV-271358 Differential Revision: https://reviews.llvm.org/D96386
-
Stanislav Mekhanoshin authored
This is remove dependency on ValueTracking in the future patch. Differential Revision: https://reviews.llvm.org/D96079
-
Eric Schweitz authored
-