- Oct 22, 2020
-
-
Matt Arsenault authored
We don't support funclets for exception handling and I hit this when manually reducing MIR.
-
Matt Arsenault authored
If the end instruction of the scheduling region was a DBG_VALUE, the uses of the debug instruction were tracked as if they were real uses. This would then hit the deadDefHasNoUse assertion in addVRegDefDeps if the only use was the debug instruction.
-
Jeremy Morse authored
The instruction referencing work currently only works on X86, and all the tests for it will be X86 based for the time being. Configure the whole directory to be X86-only, seeing how I keep on landing tests that don't have the correct REQUIRES lines.
-
Jon Chesterfield authored
[OpenMP] Emit calls to int64_t functions for amdgcn Two functions, syncwarp and active_thread_mask, return lanemask_t. Currently this is assumed to be int32, which is true for nvptx. Patch makes the type target architecture dependent. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D89746
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D89901
-
Eugene Zhulenev authored
Lower from Async dialect to LLVM by converting async regions attached to `async.execute` operations into LLVM coroutines (https://llvm.org/docs/Coroutines.html): 1. Outline all async regions to functions 2. Add LLVM coro intrinsics to mark coroutine begin/end 3. Use MLIR conversion framework to convert all remaining async types and ops to LLVM + Async runtime function calls All `async.await` operations inside async regions converted to coroutine suspension points. Await operation outside of a coroutine converted to the blocking wait operations. Implement simple runtime to support concurrent execution of coroutines. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D89292
-
Raphael Isemann authored
The Darwin builder currently assumes in `getArchCFlags` that the passed `arch` value is an actual string it can string.join with vendor/os/version/env strings: ``` triple = '-'.join([arch, vendor, os, version, env]) ``` However this is not true for most tests as we just pass down the `arch=None` default value from `TestBase.build`. This causes that if we actually end up in this function we just error out when concatenating `None` with the other actual strings of vendor/os/version/env. What we should do instead is check that if there is no test-specific architecture that we fall back to the configuration's architecture value. It seems we already worked around this in `builder.getArchSpec` by explicitly falling back to the architecture specified in the configuration. This patch just moves this fallback logic to the top `build` function so that it affects all functions called from `TestBase.build`. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D89056
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D89893
-
Simon Pilgrim authored
Add the MVT equivalent handling for EVT changeTypeToInteger/changeVectorElementType/changeVectorElementTypeToInteger. All the SimpleVT code already exists inside the EVT equivalents, but by splitting this out we can use these directly inside MVT types without converting to/from EVT.
-
Evgeny Leviant authored
-
Alexander Belyaev authored
Reuse most code for printing/parsing/verification from SubViewOp. https://llvm.discourse.group/t/rfc-standard-memref-cast-ops/1454/15 Differential Revision: https://https://reviews.llvm.org/D89720
-
Raphael Isemann authored
-
Florian Hahn authored
-
Jeremy Morse authored
This the second time I've stepped on this landmine, I'll look at setting a lit local config. All the tests in this dir are going to be X86 for now.
-
Jeremy Morse authored
This patch touches two optimizations, TwoAddressInstruction and X86's FixupLEAs pass, both of which optimize by re-creating instructions. For LEAs, various bits of arithmetic are better represented as LEAs on X86, while TwoAddressInstruction sometimes converts instrs into three address instructions if it's profitable. For debug instruction referencing, both of these require substitutions to be created -- the old instruction number must be pointed to the new instruction number, as illustrated in the added test. If this isn't done, any variable locations based on the optimized instruction are conservatively dropped. Differential Revision: https://reviews.llvm.org/D85756
-
David Zarzycki authored
There are bunch of optimization opportunities right now in the vector popcnt code gen when doing simple less-than/greater-than comparisons, so let's examine them all to ensure that things don't regress as different scenarios are fixed. We can always delete some later once some fixes are made. Please note: the new files were auto-generated. If people want, I can commit the short C code that printed out the various combinations.
-
Alexander Kornienko authored
-
Alexander Belyaev authored
https://llvm.discourse.group/t/rfc-standard-memref-cast-ops/1454/15 Differential Revision: https://reviews.llvm.org/D89784
-
Max Kazantsev authored
-
Luís Marques authored
The existing tests were mostly for 64-bit constants. Differential Revision: https://reviews.llvm.org/D83210
-
LLVM GN Syncbot authored
-
Max Kazantsev authored
This better reflects what this variable is about.
-
Tianqing Wang authored
For more details about these instructions, please refer to the latest ISE document: https://software.intel.com/en-us/download/intel-architecture-instruction-set-extensions-programming-reference. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D89301
-
Evgeny Leviant authored
-
Mikhail Goncharov authored
Now libc++ pipeline will be triggered from the "premerge-checks" and the combined result are going to be returned to Harbormaster. Reviewed-by: ldionne Differential Revision: https://reviews.llvm.org/D89113
-
Max Kazantsev authored
This better reflects what this logic actually does.
-
Max Kazantsev authored
This reverts commit 3fce5ea7. `make check` broken.
-
Sjoerd Meijer authored
This improves simplifications for pattern `icmp (X+Y), (X+Z)` -> `icmp Y,Z` if only one of the operands has NSW set, e.g.: icmp slt (x + 0), (x +nsw 1) We can still safely rewrite this to: icmp slt 0, 1 because we know that the LHS can't overflow if the RHS has NSW set and C1 < C2 && C1 >= 0, or C2 < C1 && C1 <= 0 This simplification is useful because ScalarEvolutionExpander which is used to generate code for SCEVs in different loop optimisers is not always able to put back NSW flags across control-flow, thus inhibiting CFG simplifications. Differential Revision: https://reviews.llvm.org/D89317 -
Fangrui Song authored
findNearestCommonDominator never returns nullptr.
-
Jonas Devlieghere authored
Make these types conform to the LLVM Coding Standards: > Type names (including classes, structs, enums, typedefs, etc) should > be nouns and start with an upper-case letter.
-
Alex Lorenz authored
target Apple Silicon macOS machines Differential Revision: https://reviews.llvm.org/D82699
-
Martin Storsjö authored
Implement the corresponding thing using windows functions as well. Differential Revision: https://reviews.llvm.org/D89864
-
Martin Storsjö authored
The individual enum values in copy_options and file_type aren't specified in the standard. The standard doesn't require fs::path::format to be a scoped enum. Differential Revision: https://reviews.llvm.org/D89866
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D89867
-
Martin Storsjö authored
Copy over the compiler detection structure from libcxx, and set _LIBCXXABI_WEAK like _LIBCPP_WEAK is set in libcxx. This allows users to override operator new/delete, if using those operators from libcxxabi instead of from libcxx. Differential Revision: https://reviews.llvm.org/D89863
-
Tony authored
- Make the SIMemoryLegalizer insertAcquire function be in the same order for each target to be consistent. Differential Revision: https://reviews.llvm.org/D89880
-
Douglas Yung authored
A recent commit to revert llvm-symbolizer changes forgot to revert this test fix. This reverts commit 5e656ee4.
-
Arthur Eubanks authored
Many of these tests don't use the output of -analyze.
-
Serguei Katkov authored
Use BFI if it is available and BPI otherwise. This is a promised follow-up after D89541. Reviewers: ebrevnov, mkazantsev Reviewed By: ebrevnov Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D89773
-
Arthur Eubanks authored
-