| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 302970
|
| |
|
|
|
|
|
|
| |
for a local declaration.
In preparation for expanding this behavior to cover additional cases.
llvm-svn: 302969
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Implemented frequency based cost/saving analysis
and related options.
The pass is now in a state ready to be turne on
in the pipeline (in follow up).
Differential Revision: http://reviews.llvm.org/D32783
llvm-svn: 302967
|
| |
|
|
| |
llvm-svn: 302966
|
| |
|
|
|
|
|
|
|
|
| |
rather than waiting until it's queried.
Currently this is only applied to local submodule visibility mode, as we don't
yet allocate storage for the owning module in non-local-visibility modules
compilations.
llvm-svn: 302965
|
| |
|
|
|
|
|
|
| |
This might be useful across various GISel Passes
https://reviews.llvm.org/D33051
llvm-svn: 302964
|
| |
|
|
|
|
|
|
| |
We end up dereferencing the end iterator here when the Aspect doesn't exist in the DefaultAction map.
Change the API to return Optional<LLT> and return None when not found.
Also update the callers to handle the None case
llvm-svn: 302963
|
| |
|
|
| |
llvm-svn: 302962
|
| |
|
|
| |
llvm-svn: 302961
|
| |
|
|
|
|
|
|
|
|
| |
to SVML routines
Patch by Chris Chrulski
Differential Revision: https://reviews.llvm.org/D31789
llvm-svn: 302957
|
| |
|
|
|
|
|
|
|
|
| |
generated from -ffast-math
Patch by Chris Chrulski
Differential Revision: https://reviews.llvm.org/D31788
llvm-svn: 302956
|
| |
|
|
|
|
|
|
|
|
| |
math-finite.h that create '__<func>_finite as functions
Patch by Chris Chrulski
Differential Revision: https://reviews.llvm.org/D31787
llvm-svn: 302955
|
| |
|
|
| |
llvm-svn: 302954
|
| |
|
|
|
|
|
|
| |
We already counted the number of bits in the RHS so its pretty cheap to just check if the RHS is 1.
Differential Revision: https://reviews.llvm.org/D33154
llvm-svn: 302953
|
| |
|
|
|
|
|
|
| |
reread it from the LHS which might be aliased with Quotient or Remainder.
This helped the compiler generate better code for the single word case. It was able to remember that the bit width was still a single word when it created the Remainder APInt and not create code for it possibly being multiword.
llvm-svn: 302952
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D33140
llvm-svn: 302951
|
| |
|
|
|
|
|
|
| |
Patch by Wei-Ren Chen (陳韋任)!
Differential Revision: https://reviews.llvm.org/D32964
llvm-svn: 302950
|
| |
|
|
| |
llvm-svn: 302949
|
| |
|
|
| |
llvm-svn: 302948
|
| |
|
|
|
|
| |
modules-enabled buildbots.
llvm-svn: 302947
|
| |
|
|
|
|
|
|
| |
integers, part 3/3.
Test the C++17 Core Language feature independently from other std::byte tests.
llvm-svn: 302946
|
| |
|
|
|
|
|
|
|
| |
This C++17 Core Language feature isn't necessary when testing std::byte.
It's a minor convenience, but it limits test coverage to very new compilers.
This part activates the tests for more compilers.
llvm-svn: 302945
|
| |
|
|
|
|
|
|
|
|
|
| |
This C++17 Core Language feature isn't necessary when testing std::byte.
It's a minor convenience, but it limits test coverage to very new compilers.
This part changes the code.
Fixes D32386.
llvm-svn: 302944
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We should not change volatile loads/stores in promoting alloca to vector.
Reviewers:
arsenm
Differential Revision:
http://reviews.llvm.org/D33107
llvm-svn: 302943
|
| |
|
|
|
|
|
|
| |
This fixes 47 of the 75 NVPTX '-verify-machineinstrs with EXPENSIVE_CHECKS' errors in PR32146.
Differential Revision: https://reviews.llvm.org/D33147
llvm-svn: 302942
|
| |
|
|
|
|
|
| |
Attempt to silence buildbot failures by pinning the test to a given
triple rather than the host's triple.
llvm-svn: 302941
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Clang changes to remove this option and replace with a parameter
always set in the context of a ThinLTO distributed backend.
Depends on D33133.
Reviewers: pcc
Subscribers: mehdi_amini, eraman, cfe-commits
Differential Revision: https://reviews.llvm.org/D33134
llvm-svn: 302940
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
As discussed in the D32195 review thread and on IRC, remove this option
and replace with parameter, which will be set to true when invoked
from clang in the context of a ThinLTO distributed backend.
Reviewers: pcc
Subscribers: mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D33133
llvm-svn: 302939
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: LiveRangeShrink pass moves instruction right after the definition with the same BB if the instruction and its operands all have more than one use. This pass is inexpensive and guarantees optimal live-range within BB.
Reviewers: davidxl, wmi, hfinkel, MatzeB, andreadb
Reviewed By: MatzeB, andreadb
Subscribers: hiraditya, jyknight, sanjoy, skatkov, gberry, jholewinski, qcolombet, javed.absar, krytarowski, atrick, spatel, RKSimon, andreadb, MatzeB, mehdi_amini, mgorny, efriedma, davide, dberlin, llvm-commits
Differential Revision: https://reviews.llvm.org/D32563
llvm-svn: 302938
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
backend. NFC.
Summary:
Eli pointed out that it's unsafe to combine the shifts to ISD::SHL etc.,
because those are not defined for b > sizeof(a) * 8, even after some of
the combiners run.
However, PPCISD::SHL defines that behavior (as the instructions themselves).
Move the combination to the backend.
The tests in shift_mask.ll still pass.
Reviewers: echristo, hfinkel, efriedma, iteratee
Subscribers: nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D33076
llvm-svn: 302937
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This adds a visitor that is capable of accessing type
records randomly and caching intermediate results that it
learns about during partial linear scans. This yields
amortized O(1) access to a type stream even though type
streams cannot normally be indexed.
Differential Revision: https://reviews.llvm.org/D33009
llvm-svn: 302936
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch teaches clang to perform implicit scalar to vector conversions
when one of the operands of a binary vector expression is a scalar which
can be converted to the element type of the vector without truncation
following GCC's implementation.
If the (constant) scalar is can be casted safely, it is implicitly casted to the
vector elements type and splatted to produce a vector of the same type.
Contributions from: Petar Jovanovic
Reviewers: bruno, vkalintiris
Differential Revision: https://reviews.llvm.org/D25866
llvm-svn: 302935
|
| |
|
|
|
|
| |
vim script.
llvm-svn: 302934
|
| |
|
|
| |
llvm-svn: 302933
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When reaching the end of a module, we used to convert its macros to
ModuleMacros but also leave them in the MacroDirective chain for the
identifier. This meant that every lookup of such a macro would find two
(identical) definitions. It also made it difficult to determine the correct
owner for a macro when reaching the end of a module: the most recent
MacroDirective in the chain could be from an #included submodule rather than
the current module.
Simplify this: whenever we convert a MacroDirective to a ModuleMacro when
leaving a module, clear out the MacroDirective chain for that identifier, and
just rely on the ModuleMacro to provide the macro definition information.
(We don't want to do this for local submodule visibility mode, because in that
mode we maintain a distinct MacroDirective chain for each submodule, and we
need to keep around the prior MacroDirective in case we re-enter the submodule
-- for instance, if its header is #included more than once in a module build,
we need the include guard directive to stick around. But the problem doesn't
arise in this case for the same reason: each submodule has its own
MacroDirective chain, so the macros don't leak out of submodules in the first
place.)
llvm-svn: 302932
|
| |
|
|
|
|
| |
udiv and urem already had the same assert.
llvm-svn: 302931
|
| |
|
|
|
|
|
|
| |
and udivrem. NFC
At this point in the code rhsWords is guaranteed to be non-zero and less than or equal to lhsWords. So if lhsWords is 1, rhsWords must also be 1. urem alread had the check removed so this makes all 3 consistent.
llvm-svn: 302930
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch contains the clang-format and cleanup of the entire code base. Some
of clang-formats changes made the code look worse in places. A best effort was
made to resolve the bulk of these problems, but many remain. Most of the
problems were mangling line-breaks and tabbing of comments.
Patch by Terry Wilmarth
Differential Revision: https://reviews.llvm.org/D32659
llvm-svn: 302929
|
| |
|
|
|
|
|
|
| |
disabled
This should fix bots broken by r302919.
llvm-svn: 302928
|
| |
|
|
| |
llvm-svn: 302927
|
| |
|
|
| |
llvm-svn: 302926
|
| |
|
|
|
|
|
|
|
|
|
|
| |
possible
This patch adds min/max population count, leading/trailing zero/one bit counting methods.
The min methods return answers based on bits that are known without considering unknown bits. The max methods give answers taking into account the largest count that unknown bits could give.
Differential Revision: https://reviews.llvm.org/D32931
llvm-svn: 302925
|
| |
|
|
|
|
|
| |
This fixes tests that use debug info to check ubsan stack traces. One
was XFAILd on Windows and the other was actively failing for weeks.
llvm-svn: 302924
|
| |
|
|
|
|
|
|
| |
CodeViewDebug sets Asm to nullptr to disable debug info generation. You
can get a .ll file like no-cus.ll from 'clang -gcodeview -g0', which
happens in the ubsan test suite.
llvm-svn: 302923
|
| |
|
|
| |
llvm-svn: 302922
|
| |
|
|
| |
llvm-svn: 302921
|
| |
|
|
|
|
|
|
| |
These tests don't fail consistently in all cases, but they
fail most of the time on the buildbots. Mark as UNSUPPORTED for now to
avoid buildbots failing due to XPASS.
llvm-svn: 302920
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm
Reviewed By: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, igorb, dstuttard, tpr, t-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D33115
llvm-svn: 302919
|
| |
|
|
|
|
|
|
| |
Also ensure that class template specialization arguments are covered
rdar://31812032
llvm-svn: 302918
|
| |
|
|
|
|
|
|
| |
Our theory is that reserving large amounts of shadow memory isn't
reliable on Win7 and earlier NT kernels. This affects the
clang-x64-ninja-win7 buildbot, which uses Windows 7.
llvm-svn: 302917
|