- Feb 12, 2021
-
-
Jon Chesterfield authored
[libomptarget][amdgcn] Build amdgcn devicertl as openmp Change cmake to build as openmp and fix up some minor errors in the code. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D96533
-
Maxim Kuvyrkov authored
Include x86 intrinsics only when compiling for x86_64 or i386. _MSC_VER no longer implies x86. Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D96498
-
David Sherwood authored
Adds support for mangling TLI vector names for scalable vectors. Differential Revision: https://reviews.llvm.org/D96338
-
Alexander Belyaev authored
-
Fraser Cormack authored
This patch extends the initial fixed-length vector support to include smin, smax, umin, and umax. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D96491
-
Kristof Beyls authored
Before, the first mention of LLVM's license on the developer policy page stated that LLVM's license is Apache 2. This patch makes that more accurate by mentioning the LLVM exception this first time the LLVM license is discussed on that page, i.e. Apache-2.0 with LLVM-exception. Technically, the correct SPDX identifier for LLVM's license is 'Apache-2.0 WITH LLVM-exception', but I thought that writing the 'WITH' in lower case made the paragraph easier to read without reducing clarity. Differential Revision: https://reviews.llvm.org/D96482
-
wlei authored
To align with https://reviews.llvm.org/D95547, we need to add brackets for context id before initializing the `SampleContext`. Also added test cases for extended binary format from llvm-profgen side. Differential Revision: https://reviews.llvm.org/D95929
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D96579
-
Raphael Isemann authored
This test supposed to check the test base we are using for pexpect tests, but instead it used the normal TestBase class we use for all other tests. TestBase already had the substrs type check since D88792 so this test was passing because of that. This just changes the test base of the test to the pexpect one so that the `expect` calls find their intended target function. Also moves the check to the very start so that we can check the argument without actually having to start a terminal and all that jazz. (I found this by accident as D88792 got somehow reverted in a downstream branch so this test started failing). Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D96556
-
Sander de Smalen authored
This fixes an overly restrictive assumption that the vector is a FixedVectorType, in code that tries to calculate the cost of a cast operation when splitting a too-wide vector. The algorithm works the same for scalable vectors, so this patch removes the cast<FixedVectorType>. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D96253
-
Michael Kruse authored
-
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
-