| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SUMMARY:
According to https://reviews.llvm.org/D68575#inline-617586, Create a NFC patch for it.
Using crtp to refactor the xcoff section header
Move the define of SectionFlagsReservedMask and SectionFlagsTypeMask from XCOFFDumper.cpp to XCOFFObjectFile.h
Reviewers: hubert.reinterpretcast,jasonliu
Subscribers: rupprecht, seiyai,hiraditya
Differential Revision: https://reviews.llvm.org/D69131
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This is updating the OpenMP status table. Cray has volunteered for `defaultmap` and supporting `in_reduction` on the `target` construct, so the status on those entries from was changed from "unclaimed". Also, a new entry was added for supporting non-contiguous arrays sections on the `target update` directive.
Reviewers: ABataev, hfinkel, jdoerfert, kkwli0
Reviewed By: ABataev
Subscribers: guansong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69923
|
|
|
|
|
|
|
|
| |
Assume that the user knows what they're doing if they provide a char
literal as an array index. This more closely matches the behavior of
GCC.
Differential Revision: https://reviews.llvm.org/D58896
|
|
|
|
|
|
|
| |
https://bugs.llvm.org/show_bug.cgi?id=43722
GWP-ASan didn't include SANITIZER_COMMON_CFLAGS, and thus would produce
LLVM bitcode files, when compiler-rt is generally built without LTO.
|
|
|
|
|
|
|
| |
This allows crtbegin and crtend to be built, allowing RISC-V
to no longer rely on implementations from libgcc.
Differential revision: https://reviews.llvm.org/D68393
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
-ffp-exception-behavior=
Add options to control floating point behavior: trapping and
exception behavior, rounding, and control of optimizations that affect
floating point calculations. More details in UsersManual.rst.
Reviewers: rjmccall
Differential Revision: https://reviews.llvm.org/D62731
|
|
|
|
|
|
|
|
|
|
| |
If a GCC installed is not detected, the driver would default to
the root of the filesystem. This is not ideal when this doesn't
match the install directory of the toolchain and can cause
undesireable behavior such as picking up system libraries or
the system linker when cross-compiling.
Differential Revision: https://reviews.llvm.org/D68391
|
| |
|
|
|
|
|
|
|
|
|
| |
Add the geometric and relational builtin functions from the OpenCL C
specification.
Patch by Pierre Gondois and Sven van Haastregt.
Differential Revision: https://reviews.llvm.org/D69908
|
|
|
|
|
|
|
|
|
| |
This patch adds the integer builtin functions from the OpenCL C
specification.
Patch by Pierre Gondois and Sven van Haastregt.
Differential Revision: https://reviews.llvm.org/D69901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This option was added downstream in swift-lldb. This upstreams this option as it seems useful and also adds the missing tests.
Reviewers: #lldb, kwk, labath
Reviewed By: kwk, labath
Subscribers: labath, kwk, abidh, JDevlieghere, lldb-commits
Tags: #lldb, #upstreaming_lldb_s_downstream_patches
Differential Revision: https://reviews.llvm.org/D69944
|
| |
|
|
|
|
|
|
|
|
| |
Atomic compound expressions try to use atomicrmw if possible, but this
path doesn't set the Result variable, leaving it to crash in later code
if anything ever tries to use the result of the expression. This fixes
that issue by recalculating the new value based on the old one
atomically loaded.
|
|
|
|
|
| |
See details in the original Chromium bug report:
https://bugs.chromium.org/p/chromium/issues/detail?id=994957
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This notably improves non-negativity deduction:
```
| statistic | old | new | delta | % change |
| correlated-value-propagation.NumAShrs | 209 | 227 | 18 | 8.6124% |
| correlated-value-propagation.NumAddNSW | 4972 | 4988 | 16 | 0.3218% |
| correlated-value-propagation.NumAddNUW | 7141 | 7148 | 7 | 0.0980% |
| correlated-value-propagation.NumAddNW | 12113 | 12136 | 23 | 0.1899% |
| correlated-value-propagation.NumAnd | 442 | 445 | 3 | 0.6787% |
| correlated-value-propagation.NumNSW | 7160 | 7176 | 16 | 0.2235% |
| correlated-value-propagation.NumNUW | 13306 | 13316 | 10 | 0.0752% |
| correlated-value-propagation.NumNW | 20466 | 20492 | 26 | 0.1270% |
| correlated-value-propagation.NumSDivs | 207 | 212 | 5 | 2.4155% |
| correlated-value-propagation.NumSExt | 6279 | 6679 | 400 | 6.3704% |
| correlated-value-propagation.NumSRems | 28 | 29 | 1 | 3.5714% |
| correlated-value-propagation.NumShlNUW | 2793 | 2796 | 3 | 0.1074% |
| correlated-value-propagation.NumShlNW | 3964 | 3967 | 3 | 0.0757% |
| correlated-value-propagation.NumUDivs | 353 | 358 | 5 | 1.4164% |
| instcount.NumAShrInst | 13763 | 13741 | -22 | -0.1598% |
| instcount.NumAddInst | 277349 | 277348 | -1 | -0.0004% |
| instcount.NumLShrInst | 27437 | 27463 | 26 | 0.0948% |
| instcount.NumOrInst | 102677 | 102678 | 1 | 0.0010% |
| instcount.NumSDivInst | 8732 | 8727 | -5 | -0.0573% |
| instcount.NumSExtInst | 80872 | 80468 | -404 | -0.4996% |
| instcount.NumSRemInst | 1679 | 1678 | -1 | -0.0596% |
| instcount.NumTruncInst | 62154 | 62153 | -1 | -0.0016% |
| instcount.NumUDivInst | 2526 | 2527 | 1 | 0.0396% |
| instcount.NumURemInst | 1589 | 1590 | 1 | 0.0629% |
| instcount.NumZExtInst | 69405 | 69809 | 404 | 0.5821% |
| instcount.TotalInsts | 7439575 | 7439574 | -1 | 0.0000% |
```
Reviewers: nikic, reames, spatel
Reviewed By: nikic
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69942
|
|
|
|
|
|
|
|
|
| |
Add the remaining math and common builtin functions from the OpenCL C
specification.
Patch by Pierre Gondois and Sven van Haastregt.
Differential Revision: https://reviews.llvm.org/D69883
|
|
|
|
|
|
| |
is_constant_evaluated.
Differential Revision: https://reviews.llvm.org/D69940
|
|
|
|
| |
This doesn't fix all the issues with D68837
|
|
|
|
|
|
| |
Patch allows importing declarations of functions and variables, referenced
by the initializer of some other readonly variable.
Differential revision: https://reviews.llvm.org/D69561
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have a vector compare reduction problem seen in PR39665 comment 2:
https://bugs.llvm.org/show_bug.cgi?id=39665#c2
Or slightly reduced here:
define i1 @cmp2(<2 x double> %a0) {
%a = fcmp ogt <2 x double> %a0, <double 1.0, double 1.0>
%b = extractelement <2 x i1> %a, i32 0
%c = extractelement <2 x i1> %a, i32 1
%d = and i1 %b, %c
ret i1 %d
}
SLP would not attempt to turn this into a vector reduction because there is an
artificial lower limit on that transform. We can not completely remove that limit
without inducing regressions though, so this patch just hacks an extra attempt at
creating a 2-way reduction to the end of the analysis.
As shown in the test file, we are still not getting some of the motivating cases,
so follow-on patches will be needed to solve those cases.
Differential Revision: https://reviews.llvm.org/D59710
|
|
|
|
| |
We can use those to further limit the ranges in LVI.
|
| |
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D69851
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D69850
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`saa` and `saad` are 32-bit and 64-bit store atomic add instructions.
memory[base] = memory[base] + rt
These instructions are available for "Octeon+" CPU. The patch adds support
for both instructions to MIPS assembler and diassembler and introduces new
CPU type - "octeon+".
Next patches will implement `.set arch=octeon+` directive and `AFL_EXT_OCTEONP`
ISA extension flag support.
Differential Revision: https://reviews.llvm.org/D69849
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
order recurrences."
It broke Chromium, causing "Instruction does not dominate all uses!" errors.
See https://bugs.chromium.org/p/chromium/issues/detail?id=1022297#c1 for a
reproducer.
> If the recurrence PHI node has a single user, we can sink any
> instruction without side effects, given that all users are dominated by
> the instruction computing the incoming value of the next iteration
> ('Previous'). We can sink instructions that may cause traps, because
> that only causes the trap to occur later, but not on any new paths.
>
> With the relaxed check, we also have to make sure that we do not have a
> direct cycle (meaning PHI user == 'Previous), which indicates a
> reduction relation, which potentially gets missed by
> ReductionDescriptor.
>
> As follow-ups, we can also sink stores, iff they do not alias with
> other instructions we move them across and we could also support sinking
> chains of instructions and multiple users of the PHI.
>
> Fixes PR43398.
>
> Reviewers: hsaito, dcaballe, Ayal, rengolin
>
> Reviewed By: Ayal
>
> Differential Revision: https://reviews.llvm.org/D69228
|
|
|
|
| |
To avoid any potential ODR violations.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following up on https://reviews.llvm.org/D62221, this change introduces
the settings plugin.process.gdb-remote.use-g-packet-for-reading. When
they are on, 'g' packets are used for reading registers.
Using 'g' packets can improve performance by reducing the number of
packets exchanged between client and server when a large number of
registers needs to be fetched.
Differential revision: https://reviews.llvm.org/D62931
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This should be NFC to clang-rename, by default the traversal scope is
TUDecl. Traversing the TUDecl in clangd is a performance cliff, we should
avoid it.
Reviewers: ilya-biryukov
Subscribers: kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69892
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is understood"
This caused Chromium builds to fail with "inlinable function call in a function
with debug info must have a !dbg location" errors. See
https://bugs.chromium.org/p/chromium/issues/detail?id=1022296#c1 for a
reproducer.
> Currently, clang emits subprograms for declared functions when the
> target debugger or DWARF standard is known to support entry values
> (DW_OP_entry_value & the GNU equivalent).
>
> Treat DW_AT_tail_call the same way to allow debuggers to follow cross-TU
> tail calls.
>
> Pre-patch debug session with a cross-TU tail call:
>
> ```
> * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
> frame #1: 0x0000000100000f99 main`main at a.c:8:10 [opt]
> ```
>
> Post-patch (note that the tail-calling frame, "helper", is visible):
>
> ```
> * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
> frame #1: 0x0000000100000f80 main`helper [opt] [artificial]
> frame #2: 0x0000000100000f99 main`main at a.c:8:10 [opt]
> ```
>
> rdar://46577651
>
> Differential Revision: https://reviews.llvm.org/D69743
|
| |
|
|
|
|
|
|
|
| |
This simplifies logic making it trivial to add searching for other
files later.
Differential revision: https://reviews.llvm.org/D68568
|
|
|
|
|
|
|
|
|
|
| |
clangd should retain comments from system headers.
fixes https://github.com/clangd/clangd/issues/96
Patch by lh123!
Differential revision: https://reviews.llvm.org/D69928
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: [AMDGPU] Fix bug introduced in 47a5c36b37f0
Reviewers: foad, arsenm
Reviewed By: arsenm
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69915
|
|
|
|
| |
A helper `isImpicitExpr` is only used inside assert.
|
|
|
|
|
|
|
|
| |
It converts binary contents of .hash and .gnu.hash that were generated by a linker
to YAML descriptions.
I've also dropped Shift2 and BloomFilter values because they are not needed here.
Differential revision: https://reviews.llvm.org/D69881
|
| |
|
|
|
|
|
|
| |
Leftovers from before we switched to widening legalization.
Fixes PR43919.
|
|
|
|
|
|
|
|
|
| |
This was added for Linux toolchains in rC271692, this
patch extends this to the Hurd toolchain.
Patch by sthibaul (Samuel Thibault)
Differential Revision: https://reviews.llvm.org/D69754
|
|
|
|
|
|
|
|
| |
transformations (NFC)"
as it's causing assert failures.
This reverts commit 100e797adb433724a17c9b42b6533cd634cb796b.
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D69909
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
When adjusting function entry counts after inlining, Funciton::setEntryCount is called without providing an import function list. The side effect of that is the previously set import function list will be dropped. The import function list is used by ThinLTO to help import hot cross module callee for LTO inlining, so dropping that during ThinLTO pre-link may adversely affect LTO inlining. The fix is to keep the list while updating entry counts for inlining.
Reviewers: wmi, davidxl, tejohnson
Subscribers: mehdi_amini, hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69736
|
|
|
|
|
|
|
|
|
|
|
| |
Add pattern matching and intrinsics for the following instructions:
predicated orr, eor, and, bic
predicated mul, smulh, umulh, sdiv, udiv, sdivr, udivr
predicated smax, umax, smin, umin, sabd, uabd
mad, msb, mla, mls
https://reviews.llvm.org/D69588
|