- Nov 03, 2020
-
-
Aaron Ballman authored
The nomerge attribute is a statement attribute not a function attribute.
-
David Green authored
-
Ben Dunbobbin authored
This reverts commit 415f7ee8. The added tests were failing on the build bots!
-
Craig Topper authored
The SHL and SRL could be in opposite order so account for that. Differential Revision: https://reviews.llvm.org/D90586
-
Simon Pilgrim authored
Based off existing rotate test coverage
-
Simon Pilgrim authored
-
Louis Dionne authored
This makes us closer to running the test suite on platforms where the legacy test suite configuration doesn't work. One notable change after this commit is that the tests will be run with warnings enabled on GCC too, which wasn't the case before. However, previous commits should have tweaked the test suite to make sure it passes with warnings enabled on GCC. Note that warnings can still be disabled with `--param enable_warnings=False`, as before. Differential Revision: https://reviews.llvm.org/D90432
-
peter klausler authored
Differential revision: https://reviews.llvm.org/D90500
-
Paul C. Anagnostopoulos authored
Update the documentation to fully describe it. Differential Revision: https://reviews.llvm.org/D90617
-
Sanjay Patel authored
As noticed in D90554 , the AVX2 costs for 256-bit vectors did not include FMAXNUM entries, so we fell back to AVX1 which assumes those ops will be split into 128-bit halves or something close to that. Differential Revision: https://reviews.llvm.org/D90613
-
Sanjay Patel authored
PR47997
-
Craig Topper authored
The code is looking for (sext_inreg (or (shl X, C2), (shr (and Y, C3), C1))). We need to ensure X and Y are the same. Differential Revision: https://reviews.llvm.org/D90580
-
Simon Pilgrim authored
[AggressiveInstCombine] foldGuardedRotateToFunnelShift - generalize rotation to funnel shift matcher. Replace matchRotate with a more general matchFunnelShift - at the moment this is still just used for rotation patterns.
-
Ben Dunbobbin authored
For PlayStation we offer source code compatibility with Microsoft's dllimport/export annotations; however, our file format is based on ELF. To support this we translate from DLL storage class to ELF visibility at the end of codegen in Clang. Other toolchains have used similar strategies (e.g. see the documentation for this ARM toolchain: https://developer.arm.com/documentation/dui0530/i/migrating-from-rvct-v3-1-to-rvct-v4-0/changes-to-symbol-visibility-between-rvct-v3-1-and-rvct-v4-0) This patch adds the ability to perform this translation. Options are provided to support customizing the mapping behaviour. Differential Revision: https://reviews.llvm.org/D89970
-
Teresa Johnson authored
Add intended and missing prefix check.
-
Shoaib Meenai authored
The vendor will be prefixed to the "clangd" and can be an arbitrary string, so account for it in the test. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D90517
-
Shoaib Meenai authored
It's only used by Version.cpp, so limit the definition to just that one file instead of making all of Clang recompile if you change CLANG_VENDOR. Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D90516
-
Teresa Johnson authored
The issue was unexpected macro expansion when the bot's test output directory contained a token matching a build system macro (e.g. "linux"). Switch to using a hardcoded path, which is invalid but is sufficient for ensuring that the path is passed down to the runtime. Differential Revision: https://reviews.llvm.org/D90466
-
Louis Dionne authored
We see this fairly often on our Linux bots, which appear to be killed by GCE from time to time.
-
Pedro Tammela authored
This patch calls `lua_close()` on Lua dtor. This guarantees that the Lua GC finalizers are honored, aside from the usual internal clean up. It also guarantees a call to the `__close` metamethod of any active to-be-closed variable in Lua 5.4. Since the previous `luaL_openlibs()` was a noop, because the standard library is cached internally, I've removed it. Differential Revision: https://reviews.llvm.org/D90557
-
Mircea Trofin authored
-
Momchil Velikov authored
The `LiveRegUnits` utility (as well as `LivePhysRegs`) considers callee-saved registers to be alive at the point after the return instruction in a block. In the ARM backend, the `LR` register is classified as callee-saved, which is not really correct (from an ARM eABI or just common sense point of view). These two conditions cause the `MachineOutliner` to overestimate the liveness of `LR`, which results in unnecessary saves/restores of `LR` around calls to outlined sequences. It also causes the `MachineVerifer` to crash in some cases, because the save instruction reads a dead `LR`, for example when the following program: int h(int, int); int f(int a, int b, int c, int d) { a = h(a + 1, b - 1); b = b + c; return 1 + (2 * a + b) * (c - d) / (a - b) * (c + d); } int g(int a, int b, int c, int d) { a = h(a - 1, b + 1); b = b + c; return 2 + (2 * a + b) * (c - d) / (a - b) * (c + d); } is compiled with `-target arm-eabi -march=armv7-m -Oz`. This patch computes the liveness of `LR` in return blocks only, while taking into account the few ARM instructions, which read `LR`, but nevertheless the register is not mentioned (explicitly or implicitly) in the instruction operands. Differential Revision: https://reviews.llvm.org/D89189 -
Fangrui Song authored
[ELF] --emit-relocs: fix st_value of STT_SECTION in the presence of a gap before the first input section In the presence of a gap, the st_value field of a STT_SECTION symbol is the address of the first input section (incorrect if there is a gap). Set it to the output section address instead. In -r mode, this bug can cause an incorrect non-zero st_value of a STT_SECTION symbol (while output sections have zero addresses, input sections may have non-zero outSecOff). The non-zero st_value can cause the final link to have incorrect relocation computation (both GNU ld and LLD add st_value of the STT_SECTION symbol to the output section address). Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D90520
-
Louis Dionne authored
The new script keeps the results sorted, which is why the ABI lists appear to have changed so much. However, this commit makes no actual ABI change.
-
Louis Dionne authored
Instead of having to remember the command-line to use every time, this commit adds a CMake target to generate the ABI list in the current configuration, if it is supported. As a fly-by change, remove scripts that are now unused (sym_match.py and sym_extract.py).
-
Frederik Gossen authored
This reverts commit dbae3d50. Cannot build with gcc/g++ 7.5.0.
-
Frederik Gossen authored
This reverts commit 56299b1e. Cannot build with gcc/g++ 7.5.0.
-
Fangrui Song authored
Preemptively switch 2 tests to the new PM Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D90365
-
Louis Dionne authored
-
- Nov 02, 2020
-
-
Nico Weber authored
-
Nico Weber authored
-
Kirstóf Umann authored
ReturnPtrRange checker emits a report if a function returns a pointer which points out of the buffer. However, end() iterator of containers is always such a pointer, so this always results a false positive report. This false positive case is now eliminated. This patch resolves these tickets: https://bugs.llvm.org/show_bug.cgi?id=20929 https://bugs.llvm.org/show_bug.cgi?id=25226 https://bugs.llvm.org/show_bug.cgi?id=27701 Patch by Tibor Brunner! Differential Revision: https://reviews.llvm.org/D83678
-
Florian Hahn authored
This reverts the revert commit 408c4408. This version of the patch includes a fix for a crash caused by treating ICmp/FCmp constant expressions as instructions. Original message: On some targets, like AArch64, vector selects can be efficiently lowered if the vector condition is a compare with a supported predicate. This patch adds a new argument to getCmpSelInstrCost, to indicate the predicate of the feeding select condition. Note that it is not sufficient to use the context instruction when querying the cost of a vector select starting from a scalar one, because the condition of the vector select could be composed of compares with different predicates. This change greatly improves modeling the costs of certain compare/select patterns on AArch64. I am also planning on putting up patches to make use of the new argument in SLPVectorizer & LV.
-
Louis Dionne authored
This makes it cleaner to add more instantiations without cluttering the actual implementation of ios.
-
Pavel Labath authored
This is similar in spirit to what D90313 did for server tests.
-
Nico Weber authored
This reverts commit 43a38a65, and follow-up 5a7bc5e2. The commit breaks check-clang-tools, the test added in the change does not pass.
-
Matt Arsenault authored
-
Louis Dionne authored
-
Aaron Ballman authored
-
Nico Weber authored
-