- Apr 28, 2020
-
-
mydeveloperday authored
Summary: In recent patches the clang-format code has become un-formatted, correct this before making additional changes Reviewers: mitchell-stellar, sylvestre.ledru, Abpostelnicu, Wawha, jbcoe Reviewed By: sylvestre.ledru, Abpostelnicu, jbcoe Subscribers: cfe-commits Tags: #clang, #clang-format Differential Revision: https://reviews.llvm.org/D78909
-
Luboš Luňák authored
If a PCH is used for compilation, SourceManager::isInMainFile() returns true even for the "<built-in>" predefines area. Using -D only for the TU compilation may trigger -Wunused-macros for it. It is admitedly a bit fishy to set a macro only for a TU and not for the PCH, but this works fine if the PCH does not use the macro (I couldn't find a statement on this for Clang, but GCC explicitly allows this in the docs). Differential Revision: https://reviews.llvm.org/D73846
-
Nick Desaulniers authored
Summary: Reviewing failures identified in D78586, I was finding the identifiers for these iterators hard to read. Reviewers: efriedma, MaskRay, jyknight Reviewed By: MaskRay Subscribers: hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D78849
-
Craig Topper authored
All avx512 truncate instructions except vXi64->vXi32 are 2 uops on port 5. So raise their costs to 2. Except when we have an earlier faster sequence like pshufb for 128 bit input vectors. Add a lower cost of 3 v16i16->v16i8 with avx512f where we can extend to v16i32 then truncate. And a cost of 2 for avx512bw with and without avx512vl. There we can use vpmovwb with either a ymm or zmm input. Both of these beat masking, splitting, and using packuswb which is our avx/avx2 codegen.
-
Ian Levesque authored
Summary: Fixes an ABI violation in the trampoline code for AArch64 that causes the indirect result register to get overwritten if the XRay handler function is complex enough to use it. Reviewers: MaskRay, dberris, johnislarry Subscribers: kristof.beyls, danielkiss, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D78596
-
Davide Italiano authored
The tl;dr story is that this causes jumps in the emitted line tables, even at `-O0`. We could at some point consider more fancy solutions to preserve locations, but it doesn't seem to be worth the effort for now. <rdar://problem/62460788> Differential Revision: https://reviews.llvm.org/D78947
-
Fangrui Song authored
Spotted by https://reviews.llvm.org/D74755#1998673 > it looks like OrderedSegments in the function is only used to set the physical address to the virtual address when there are no physical addresses set amongst these sections. I believe this behavior was copied from https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6ffd79000b45e77b3625143932ffbf781b6aecab (2008-05) The commit was made for some corner cases of very old linkers. This special rule does not seem useful and remove it can allow us to delete a large chunk of code. Reviewed By: jhenderson, jakehehrlich Differential Revision: https://reviews.llvm.org/D78786
-
Arthur Eubanks authored
Summary: Follow-up to https://reviews.llvm.org/D78836. Also consolidate some test cases. Reviewers: thakis Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78939
-
Nico Weber authored
-
Hongtao Yu authored
Summary: The switch --plugin-opt=emit-asm can be used with the gold linker to dump the final assembly code generated by LTO in a user-friendly way. Unfortunately it doesn't work with lld. I'm hooking it up with lld. With that switch, lld emits assembly code into the output file (specified by -o) and if there are multiple input files, each of their assembly code will be emitted into a separate file named by suffixing the output file name with a unique number, respectively. The linking then stops after generating those assembly files. Reviewers: espindola, wenlei, tejohnson, MaskRay, grimar Reviewed By: tejohnson, MaskRay, grimar Subscribers: pcc, emaste, inglorion, arichardson, hiraditya, MaskRay, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D77231
-
Nico Weber authored
-
Stefan Pintilie authored
Tail Calls were initially disabled for PC Relative code because it was not safe to make certain assumptions about the tail calls (namely that all compiled functions no longer used the TOC pointer in R2). However, once all of the TOC pointer references have been removed it is safe to tail call everything that was tail called prior to the PC relative additions as well as a number of new cases. For example, it is now possible to tail call indirect functions as there is no need to save and restore the TOC pointer for indirect functions if the caller is marked as may clobber R2 (st_other=1). For the same reason it is now also possible to tail call functions that are external. Differential Revision: https://reviews.llvm.org/D77788
-
Simon Pilgrim authored
Fixes some missed address symbol regexs
-
Lang Hames authored
The ByteSwap_NN functions return their result rather than modifying their argument in-place, so we need to write the result back to CPUType here.
-
Louis Dionne authored
If --no-execute is passed, we shouldn't report XFAIL tests as passing, or they will be considered to XPASS.
-
Fangrui Song authored
With a fix to unittests/Support/TarWriterTest.cpp This makes lld's --reproduce output more compatible with tar 1.13 and before. This is a very old version of tar, but it's the version in both gnuwin and unxutils, and the cost for supporting them are very low, so we might as well just do that. https://bugs.chromium.org/p/chromium/issues/detail?id=1073524#c21 and onward has more details. Differential Revision: https://reviews.llvm.org/D78945
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D78893
-
Nico Weber authored
This reverts commit 90d6ed14. Breaks check-llvm. Revert while I investigate.
-
Wei Mi authored
-
Matt Arsenault authored
-
Lei Zhang authored
'From' and 'To' should be reversed. And now we must explicitly call the registration function given that MLIR moved away from static registration. Differential Revision: https://reviews.llvm.org/D78934
-
Pavel Labath authored
-
Lei Zhang authored
Instead of using llvm_unreachable to guard against fusing linalg.conv, reject fusing linalg.conv in isFusableInto. tileLinalgOpImpl is a templated function now and it can operate on loop.parellel. So we should avoid calling into getForInductionVarOwner which always assumes loop.for. Differential Revision: https://reviews.llvm.org/D78936
-
Fangrui Song authored
-
Michael Kruse authored
After the update to ISL to isl-0.22.1-87-gfee05a13 and its change of isl_*_dim returning -1 instead of 0, the -1 got wrapped-around to UINT_MAX because Polly often uses 'unsigned' type to represent dimensions, as ISL did before this patch. This may happen in normal executions after an out-of-quota. Fix by catching the error-case earlier.
-
Nico Weber authored
This makes lld's --reproduce output more compatible with tar 1.13 and before. This is a very old version of tar, but it's the version in both gnuwin and unxutils, and the cost for supporting them are very low, so we might as well just do that. https://bugs.chromium.org/p/chromium/issues/detail?id=1073524#c21 and onward has more details. Differential Revision: https://reviews.llvm.org/D78945
-
Louis Dionne authored
This is an attempt to unbreak this test on Windows, where paths contain backslashes that are interpreted as escape characters unless quoted.
-
Florian Hahn authored
This patch documents the planned matrix support in Clang, based on the draft specification discussed on cfe-dev in the 'Matrix Support in Clang' thread. Latest draft spec sent to cfe-dev: http://lists.llvm.org/pipermail/cfe-dev/2020-February/064742.html Discussion thread January: http://lists.llvm.org/pipermail/cfe-dev/2020-January/064206.html Discussion thread March: http://lists.llvm.org/pipermail/cfe-dev/2020-March/064834.html Reviewers: rsmith, anemet, Bigcheese, dexonsmith, rjmccall Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D76612
-
David Truby authored
-
Fangrui Song authored
D63847 added `MCInstrAnalysis::evaluateMemoryOperandAddress()`. This patch leverages the feature to print the target addresses for evaluable instructions. ``` -400a: movl 4080(%rip), %eax +400a: movl 4080(%rip), %eax # 5000 <data1> ``` This patch also deletes `MIA->isCall(Inst) || MIA->isUnconditionalBranch(Inst) || MIA->isConditionalBranch(Inst)` which is used to guard `MCInstrAnalysis::evaluateBranch()` Reviewed By: jhenderson, skan Differential Revision: https://reviews.llvm.org/D78776
-
Matt Arsenault authored
Currently this asserts on anything other than errors. In one workaround scenario, AMDGPU emits DiagnosticInfoUnsupported as a warning for functions that can't be correctly codegened, but should never be executed.
-
Mircea Trofin authored
Summary: Added getInliningCostEstimate, which is essentially what getInlineCost computes if passed default inlining params, and non-null ORE or InlineParams::ComputeFullInlineCost. Reviewers: davidxl, eraman, jdoerfert Subscribers: hiraditya, haicheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78730
-
Jay Foad authored
-
- Apr 27, 2020
-
-
Wei Mi authored
Profile and profile summary are usually read only once and then annotated on IR. The profile summary metadata on IR should include the value of the newly added partial profile flag, so that compilation phase like thinlto postlink can get the full set of profile information. Differential Revision: https://reviews.llvm.org/D78310
-
Pavel Labath authored
Sadly IPv6 is still not present anywhere. The test was attempting to detect&skip such hosts, but the way it did that (essentially, by calling getaddrinfo) meant that it only detected hosts which have IPv6 support completely compiled out. It did not do anything about hosts which have it compiled in, but lack runtime configuration even for the ::1 loopback address. This patch changes the detection logic to use a new method. It does it by attempting to bind a socket to the appropriate loopback address. That should ensure the hosts loopback interface is fully set up. In an effort to avoid silently skipping the test on too many hosts, the test is fairly strict about the kind of error it expects in these cases -- it will only skip the test when receiving EADDRNOTAVAIL. If we find other error codes that can be reasonably returned in these situations, we can add more of them. The (small) change in TCPSocket.cpp is to ensure that the code correctly propagates the error received from the OS.
-
Lei Zhang authored
-
Nicolas Vasilache authored
Summary: This revision extends the lowering of vector transfers to work with n-D memref and 1-D vector where the permutation map is an identity on the most minor dimensions (1 for now). Differential Revision: https://reviews.llvm.org/D78925
-
Louis Dionne authored
Instead of using the libc++ headers provided alongside the toolchain, use those in the sibling libcxx directory that we know is checked out. Before the days of the monorepo, we couldn't assume that the libc++ repository was present when building libcxxabi. Since we can now make that assumption, it's always better to use the version of libc++ that is in lockstep with libc++abi, to avoid subtle bugs.
-
David Sherwood authored
Adding tests that I forgot to add as part of a previous change: https://reviews.llvm.org/D78636
-
Tres Popp authored
Summary: Order classes by purpose and alphabetically to make it slightly easier to read through the file. Reviewers: ftynse! Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, frgossen, Kayjukh, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78914
-