- Feb 12, 2021
-
-
Sander de Smalen authored
COST(zext (<4 x i32> load(...) to <4 x i64>)) != 0 when <4 x i64> is an illegal result type that requires splitting of the operation. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D96250
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Fangrui Song authored
This fixes coff-dwarf.test on some build bots. The test relies on the sort order and prefers main (StorageClass: External) to .text (StorageClass: Static).
-
Max Kazantsev authored
-
Heejin Ahn authored
I previously assumed `delegate`'s immediate argument computation followed a different rule than that of branches, but we agreed to make it the same (https://github.com/WebAssembly/exception-handling/issues/146). This removes the need for a separate `DelegateStack` in both CFGStackify and InstPrinter. When computing the immediate argument, we use a different function for `delegate` computation because in MIR `DELEGATE`'s instruction's destination is the destination catch BB or delegate BB, and when it is a catch BB, we need an additional step of getting its corresponding `end` marker. Reviewed By: tlively, dschuff Differential Revision: https://reviews.llvm.org/D96525
-
Peter Collingbourne authored
- Usual cross-compilation fix: s/target_/current_/g - Define _LIBUNWIND_IS_NATIVE_ONLY to enable unwinding past functions with return pointer authentication. - Android needs two libunwind static libraries: one with symbols exported and one without. These both need to be in the same build tree so the libunwind_hermetic_static_library configuration option doesn't help here. Replace it with build rules that build both libraries. - Install the libraries in the location that Android expects them to be. Differential Revision: https://reviews.llvm.org/D96563
-
Pushpinder Singh authored
This patch uses the existing logic of CUDA for searching libomptarget and extracts it to a common method. Reviewed By: JonChesterfield, tianshilei1992 Differential Revision: https://reviews.llvm.org/D96248
-
Craig Topper authored
Switch some for loops to just use the begin()/end() implementations in the InfoByHwMode struct. Add a method to insert into the map for the one case that was modifying the map directly.
-
Michael Kruse authored
The description of the -polly switch stated that it was only enabled with -O3. This was a lie, the optimization level was ignored. Only at -O0 Polly was not added to the pass pipeline because the pass builder, but only because the extension points were not triggered. In the NewPM, the VectorizerStart extensions point is actually trigger even with -O0 which leads to the following crash: Assertion `Level != OptimizationLevel::O0 && "Must request optimizations!"' failed. We sanitize the optimization levels using the following rules for both pass mangers: 1. Only enable Polly if optimizing at all (-O1, -O2 or -O3). 2. Do not enable Polly when optimizing for size. 3. Ignore the optimization level for diagnostic passes (printer, viewer or JScop-exporter). 4. If only diagnostic passes enabled, skip the code-generation. 5. Fix the description of the -polly command line option. -
Jianzhou Zhao authored
Fix the broken build by D96545
-
Jonas Devlieghere authored
TARGET_OS_EMBEDDED is deprecated, use TARGET_OS_IPHONE and/or TARGET_OS_SIMULATOR instead.
-
Jonas Devlieghere authored
The 'r' and 'run' aliases were different based on the target architecture. I suspect the intention was to disable shell expansion on embedded devices. This fixes TestCustomShell.test on AS.
-
James Y Knight authored
The wrong record field number was being used in bitcode decoding, which broke a self-hosted LTO build. (Yet, somehow, this _doesn't_ seem to have broken simple bitcode encode/decode roundtrip tests, and I'm not sure why...) Fixes commit d06ab798
-
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
-