- Jun 28, 2022
-
-
Wolfgang Pieb authored
Fixed a bug with double destruction of operands and corrected a test issue. Note that this patch leads to a slight increase in compile time (I measured about .3%) and a slight increase in memory usage. The increased memory usage should be offset once resizing is used to a larger extent. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D125998
-
Yuanfang Chen authored
For machines with a small number of cores, GTEST_TOTAL_SHARDS may be lower than 6.
-
Mitch Phillips authored
Windows linkers don't have the easy reachable `-Wl,-S` option to strip the binary. Disable the test for now.
-
Mogball authored
This patch adds a `convertFromStorage` field to attribute or type parameters that can implement more complex logic for converting from the parameter's C++ storage type (e.g. `Optional<SmallVector<T>>`) to its C++ type (e.g. `Optional<ArrayRef<T>>`). Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D128293
-
Mitch Phillips authored
D127911 deleted llvm.asan.globals. This had a side effect that we no longer generated the `name` field for the `__asan_global` descriptor from clang's decscription of the name, but the demangled name from the LLVM IR. On Linux, this is the same as the clang-provided name. On Windows, this includes the type, as the name in the IR is the mangled name. Attempt #1 to fix-forward the Windows bots by making the tests glob both sides of the global name, thereby allowing types in the descriptor name.
-
Sam Clegg authored
Instead, export `__wasm_apply_data_relocs` and `__wasm_call_ctors` separately. This is required since user code in a shared library (such as static constructors) should not be run until relocations have been applied to all loaded libraries. See: https://github.com/emscripten-core/emscripten/issues/17295 Differential Revision: https://reviews.llvm.org/D128515
-
Joel E. Denny authored
In Clang's OpenMPSupport.rst, "extension" is currently overloaded to describe both: 1. Standard OpenMP features that appear only in recent versions of the OpenMP spec. 2. Non-standard features supported by Clang. This usage appears in the final table on the page. Last fall, we discussed this issue in the OpenMP in LLVM call and agreed it should be corrected. This patch takes the simple approach of dropping the word "extension" for all occurrences of the first usage. The result seems to read well. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D126549
-
Michael Jones authored
The oct converter handles the %o conversion. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D127985
-
Sam McCall authored
Previously, the action table stores a reduce action for each lookahead token it should allow. These tokens are the followSet(action.rule.target). In practice, the follow sets are large, so we spend a bunch of time binary searching around all these essentially-duplicates to check whether our lookahead token is there. However the number of reduces for a given state is very small, so we're much better off linear scanning over them and performing a fast check for each. D128318 was an attempt at this, storing a bitmap for each reduce. However it's even more compact just to use the follow sets directly, as there are fewer nonterminals than (state, rule) pairs. It's also faster. This specialized approach means unbundling Reduce from other actions in LRTable, so it's no longer useful to support it in Action. I suspect Action will soon go away, as we store each kind of action separately. This improves glrParse speed by 42% (3.30 -> 4.69 MB/s). It also reduces LR table size by 59% (343 -> 142kB). Differential Revision: https://reviews.llvm.org/D128472
-
Jim Ingham authored
This is currently being done in an ad hoc way, and so for some commands it isn't being checked. We have the info to make this check, since commands are supposed to add their arguments to the m_arguments field of the CommandObject. This change uses that info to check whether the command received arguments in error. A handful of commands weren't defining their argument types, I also had to fix them. And a bunch of commands were checking for arguments by hand, so I removed those checks in favor of the CommandObject one. That also meant I had to change some tests that were checking for the ad hoc error outputs. Differential Revision: https://reviews.llvm.org/D128453
-
Vitaly Buka authored
Follow up to D127911.
-
Mitch Phillips authored
Now that we have the sanitizer metadata that is actually on the global variable, and now that we use debuginfo in order to do symbolization of globals, we can delete the 'llvm.asan.globals' IR synthesis. This patch deletes the 'location' part of the __asan_global that's embedded in the binary as well, because it's unnecessary. This saves about ~1.7% of the optimised non-debug with-asserts clang binary. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D127911
-
Vitaly Buka authored
Lost in resolving conflicts for cdfa15da.
-
Julian Lettner authored
This is test is failing/passing depending on the host OS version. Need to investigate/fix before re-enabling. rdar://95982696
-
Vitaly Buka authored
This reverts D126864 and related fixes. This reverts commit 572b0879. This reverts commit 886715af.
-
Julian Lettner authored
atos does not show line numbers for globals and will probably not support this anytime soon. Mark test UNSUPPORTED instead of XFAIL.
-
Craig Topper authored
-
Craig Topper authored
Offsets in the range [-4095,-2049] or [2048, 4094] are split into two ADDIs. One of the ADDIs will be folded into the load/store immediate through an post-isel peephole.
-
Philip Reames authored
This change is a bit subtle. If we have a type like <vscale x 1 x i64>, the vectorizer will currently reject vectorization. The reason is that a type like <1 x i64> is likely to get simply rescalarized, and the vectorizer doesn't want to be in the game of simple unrolling. (I've given the example in terms of 1 x types which use a single register, but the same issue exists for any N x types which use N registers. e.g. RISCV LMULs.) This change distinguishes scalable types from fixed types under the reasoning that converting to a scalable type isn't unrolling. Because the actual vscale isn't known until runtime, using a vscale type is potentially very profitable. This makes an important, but unchecked, assumption. Specifically, the scalable type is assumed to only be legal per the cost model if there's actually a scalable register class which is distinct from the scalar domain. This is, to my knowledge, true for all targets which return non-invalid costs for scalable vector ops today, but in theory, we could have a target decide to lower scalable to fixed length vector or even scalar registers. If that ever happens, we'd need to revisit this code. In practice, this patch unblocks scalable vectorization for ELEN types on RISCV. Let me sketch one alternate implementation I considered. We could have restricted this to when we know a minimum value for vscale. Specifically, for the default +v extension for RISCV, we actually know that vscale >= 2 for ELEN types. However, doing it this way means we can't generate scalable vectors when using the various embedded vector extensions which have a minimum vscale of 1. Differential Revision: https://reviews.llvm.org/D128542
-
Roy Sundahl authored
It was possible for the parent process to exit before the forked child process had finished. In some shells, this causes the pipe to close and FileCheck misses some output from the child. Waiting for the child process to exit before exiting the parent, assures that all output from stdout and stderr is combined and forwarded through the pipe to FileCheck. rdar://95241490 Differential Revision: https://reviews.llvm.org/D128565
-
Xing Xue authored
Summary: This patch ports libc++ LIT test cases for getting time in various locales to AIX. Reviewed by: philnik, Mordante, libc++ Differential Revision: https://reviews.llvm.org/D128087
-
Xing Xue authored
Summary: This patch ports libc++ LIT test cases for money formats to AIX. On AIX, the money format of locale zh_CN.UTF-8 is the similar to that of en_US.UTF-8, i.e., sign, symbol, none, value. Reviewed by: Mordante, DiggerLin, libc++ Differential Revision: https://reviews.llvm.org/D128220
-
Philip Reames authored
The later is possibly greater than the former, and thus the assert was overly strong when a wider VLEN was set at the command line.
-
Philip Reames authored
This extends the existing cost model for reductions for scalable vectors. The existing cost model assumes that reductions are roughly logarithmic in cost for unordered variants and linear for ordered ones. This change keeps that same basic model, and extends it out to the maximum number of elements a scalable vector could possibly have. This results in costs which aren't terribly high for unordered reductions, but are for ordered ones. This seems about right; we want to strongly bias away from using scalable ordered reductions if the cost might be linear in VL. Differential Revision: https://reviews.llvm.org/D127447
-
Vitaly Buka authored
Breaks buildbot https://lab.llvm.org/buildbot/#/builders/37/builds/14334 This reverts commit f5d781d6.
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D128615
-
Vitaly Buka authored
-
Alex Langford authored
Looks like a copy/paste from ModuleList::FindCompileUnits.
-
Yuanfang Chen authored
Fix "Title underline too short."
-
Yuanfang Chen authored
There is no proper RTTI for these split functions. So just delete the metadata. Fixes https://github.com/llvm/llvm-project/issues/49689. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D116130
-
Yuanfang Chen authored
Information in the function `Prologue Data` is intentionally opaque. When a function with `Prologue Data` is duplicated. The self (global value) references inside `Prologue Data` is still pointing to the original function. This may cause errors like `fatal error: error in backend: Cannot represent a difference across sections`. This patch detaches the information from function `Prologue Data` and attaches it to a function metadata node. This and D116130 fix https://github.com/llvm/llvm-project/issues/49689. Reviewed By: pcc Differential Revision: https://reviews.llvm.org/D115844
-
Wei Yi Tee authored
Depends On D128658 Reviewed By: gribozavr2, xazax.hun Differential Revision: https://reviews.llvm.org/D128659
-
Wei Yi Tee authored
[clang][dataflow] Do not allow substitution of true/false boolean literals in `buildAndSubstituteFlowCondition` Reviewed By: gribozavr2, xazax.hun Differential Revision: https://reviews.llvm.org/D128658
-
Aart Bik authored
Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D128673
-
Groverkss authored
The parser currently can't parse bare identifiers like 'i0' in affine maps and sets, and similarly ids like f16/f32. But these bare ids are part of the grammar - although they are primitive types. ``` error: expected bare identifier set = affine_set<(i0, i1) : ()> ^ ``` This patch allows the parser for AffineMap/IntegerSet to parse bare identifiers as defined by the grammer. Reviewed By: bondhugula, rriddle Differential Revision: https://reviews.llvm.org/D127076 -
Peiming Liu authored
Adding more test cases for sparse_tensor.BinaryOp, including different cases when overlap/left/right region is implemented/empty/identity Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D128383
-
Daniel Thornburgh authored
The tests use in-band ANSI color codes, while the Windows cmd console uses an out-of-band interface for color.
-
Daniel Thornburgh authored
The tests use in-band ANSI color codes, while the Windows cmd console uses an out-of-band interface for color.
-
Amir Ayupov authored
ICP peel for inline mode only makes sense for calls, not jump tables. Plus, add a check that the Target BinaryFunction is found. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128404
-
Peiming Liu authored
Previously, the sparse_tensor.unary integration test does not contain cases with the use of `linalg.index` (previoulsy unsupported), this commit adds test cases that use `linalg.index` operators. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D128460
-