| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 306434
|
| |
|
|
|
|
|
| |
This test would fail after the proposed change in:
https://reviews.llvm.org/D34242
llvm-svn: 306433
|
| |
|
|
|
|
|
|
|
|
| |
Introduces a 'owner' struct to include the overridable write
method and the write context in C.
This allows easy introdution of new member API to help reduce
profile merge time in the follow up patch.
llvm-svn: 306432
|
| |
|
|
|
|
|
|
|
|
| |
COMPILER_RT_SANITIZERS_TO_BUILD is used"
This breaks cfi testing in cases when the cfi runtime isn't built.
This reverts commit 1c6a7b07545f0c9ce68e8b226f5397694ce48af7.
llvm-svn: 306431
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This is the test update patch for https://reviews.llvm.org/D34662
Reviewers: davidxl
Reviewed By: davidxl
Subscribers: cfe-commits, sanjoy, mehdi_amini, eraman, llvm-commits
Differential Revision: https://reviews.llvm.org/D34663
llvm-svn: 306430
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: AutoFDO should have ICP enabled.
Reviewers: davidxl
Reviewed By: davidxl
Subscribers: sanjoy, mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D34662
llvm-svn: 306429
|
| |
|
|
| |
llvm-svn: 306428
|
| |
|
|
|
|
| |
when converting mul by pow2 to shl when the type is larger than 64-bits. NFC
llvm-svn: 306427
|
| |
|
|
|
|
| |
when converting mul by pow2 constant to shl for splat vectors. NFC
llvm-svn: 306426
|
| |
|
|
|
|
|
|
|
|
|
| |
Introducing MOD binary operator
https://msdn.microsoft.com/en-us/library/hha180wt.aspx
Enhancing unary operators NEG and NOT, to support more complex patterns
Differential Revision: https://reviews.llvm.org/D33876
llvm-svn: 306425
|
| |
|
|
|
|
|
|
|
|
| |
The example code incorrectly invokes ScheduleDAGMI wherein from context
it is clear it intends to invoke ScheduleDAGMILive actually.
Reviewed by: Andrew Trick
Differential Revision: https://reviews.llvm.org/D34675
llvm-svn: 306424
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The `file()` builtin is not available in Python 3; use `open()` instead.
https://docs.python.org/3.0/whatsnew/3.0.html#builtins
Reviewers: anemet, davidxl, davide
Reviewed By: davide
Subscribers: davide, fhahn, llvm-commits
Differential Revision: https://reviews.llvm.org/D34670
llvm-svn: 306423
|
| |
|
|
|
|
|
| |
The windows debug is failing as the sort function is not strict
weak ordering, so switch a >= to a >.
llvm-svn: 306422
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: alexfh
Reviewed By: alexfh
Subscribers: JDevlieghere, xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D34674
llvm-svn: 306421
|
| |
|
|
| |
llvm-svn: 306420
|
| |
|
|
| |
llvm-svn: 306419
|
| |
|
|
|
|
| |
do the indirection and relocation all in the same method.
llvm-svn: 306418
|
| |
|
|
|
|
|
|
|
|
| |
Not sure why this restriction existed, but it seems like we should support any size Constant here.
The particular pattern in the tests is not the only use of this matcher in the tree. There's one in CodeGenPrepare and one in InstSimplify as well.
Differential Revision: https://reviews.llvm.org/D34666
llvm-svn: 306417
|
| |
|
|
|
|
| |
Looks like I forgot to 'git add' when I submitted the commit. Thanks to Chandler for noticing.
llvm-svn: 306416
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This allows check-all to be used when only a subset of the sanitizers are built.
Reviewers: beanz, compnerd
Subscribers: llvm-commits, mgorny
Differential Revision: https://reviews.llvm.org/D34644
llvm-svn: 306415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to include the following data:
•static latency
•number of uOps from which the instructions consists
•all ports used by the instruction
Reviewers:
RKSimon
zvi
aymanmus
m_zuckerman
Differential Revision: https://reviews.llvm.org/D33897
llvm-svn: 306414
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
1. Instruction V_CVT_U32_F32 allow omod operand (see SIInstrInfo.td:1435). In fact this operand shouldn't be allowed here. This fix checks if SDWA pseudo instruction has OMod operand and then copy it.
2. There were several problems with support of VOPC instructions in SDWA peephole pass.
Reviewers: tstellar, arsenm, vpykhtin, airlied, kzhuravl
Subscribers: wdng, nhaehnle, yaxunl, dstuttard, tpr, sarnex, t-tye
Differential Revision: https://reviews.llvm.org/D34626
llvm-svn: 306413
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the conditional compares pass so that it keeps successor
probabilities up-to-date after the conversion. Previously, successor
probabilities were being normalized to a uniform distribution, even though they
may have been heavily biased prior to the conversion (e.g., if one of the edges
was the back edge of a loop). This loss of information affected passes later in
the pipeline.
Differential Revision: https://reviews.llvm.org/D34109
llvm-svn: 306412
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Required to fix standalone builds in some configurations
Reviewers: kubamracek, zaks.anna
Subscribers: mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D34631
llvm-svn: 306411
|
| |
|
|
|
|
|
| |
Instead of getBackEdgeTakenCount, use getExitCount on the latch exiting block
(which is proven to be the only exiting block in the loop to be unrolled).
llvm-svn: 306410
|
| |
|
|
| |
llvm-svn: 306409
|
| |
|
|
| |
llvm-svn: 306408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds support for <>-style proto message fields inside proto options.
Previously these were wrongly treated as binary operators and as such were
working only by chance for a limited number of cases.
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D34621
llvm-svn: 306406
|
| |
|
|
|
|
|
| |
Add the instruction aliases for ds(r|l)l for the two operand alias
of ds(r|l)lv and the aliases ds(r|l)l with the three register operands.
llvm-svn: 306405
|
| |
|
|
|
|
|
|
|
|
|
|
| |
assetion failure
When SelectionDAG merges consecutive stores and loads in MergeConsecutiveStores, it does not set dereferenceable flag for a created load instruction. This results in an assertion failure if SelectionDAG commonizes this load instruction with other load instructions, as well as it may miss optimization opportunities.
This patch sat dereferenceable flag for the newly created load instruction if all the load instructions to be merged are dereferenceable.
Differential Revision: https://reviews.llvm.org/D34679
llvm-svn: 306404
|
| |
|
|
|
|
| |
From Mark Kettenis in review D34618.
llvm-svn: 306403
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[X86][AVX512] Improve lowering of AVX512 compare intrinsics (remove redundant shift left+right instructions).
AVX512 compare instructions return v*i1 types.
In cases where the number of elements in the returned value are less than 8, clang adds zeroes to get a mask of v8i1 type.
Later on it's replaced with CONCAT_VECTORS, which then is lowered to many DAG nodes including insert/extract element and shift right/left nodes.
The fact that AVX512 compare instructions put the result in a k register and zeroes all its upper bits allows us to remove the extra nodes simply by copying the result to the required register class.
When lowering, identify these cases and transform them into an INSERT_SUBVECTOR node (marked legal), then catch this pattern in instructions selection phase and transform it into one avx512 cmp instruction.
Differential Revision: https://reviews.llvm.org/D33188
llvm-svn: 306402
|
| |
|
|
| |
llvm-svn: 306400
|
| |
|
|
| |
llvm-svn: 306399
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before we would 'guess' the correct location for the MergeBlock
that got introduced when executing a Scop conditionally. This
implicitly depends on the situation that at this point during
CodeGen there will be nothing between polly.start and polly.exiting.
With this commit we explicitly state that we want the block that
directly follows polly.exiting.
llvm-svn: 306398
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a beefed-up version of D33504, which adds support for dwarf 4
debug_frame section format.
The main difference here is that the decision whether to use eh_frame or
debug_frame is done on a per-function basis instead of per-object file.
This is necessary because one module can contain both sections (for
example, the start files added by the linker will typically pull in
eh_frame), but we want to be able to access both, for maximum
information.
I also add unit test for parsing various CFI formats (eh_frame,
debug_frame v3 and debug_frame v4).
Reviewers: jasonmolenda, clayborg
Subscribers: mgorny, aprantl, abidh, lldb-commits, tatyana-krasnukha
Differential Revision: https://reviews.llvm.org/D34613
llvm-svn: 306397
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a new checker package. It contains checkers that highlight
well-documented implementation-defined behavior. Such checkers are only useful
to developers that intend to write portable code. Code that is only compiled for
a single platform should be allowed to rely on this platform's specific
documented behavior.
rdar://problem/30545046
Differential Revision: https://reviews.llvm.org/D34102
llvm-svn: 306396
|
| |
|
|
|
|
|
|
| |
This test fails, if polly is not linked into LLVM's tools. Our
lit site-config already deals with this by not adding the -load
option, if polly is linked into LLVM's tools.
llvm-svn: 306395
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
It had a dependency on StringConvert and file reading code, which is not
in Utility. I've replaced that code by equivalent llvm operations.
I've added a unit test to demonstrate that parsing a file still works.
Reviewers: zturner, jingham
Subscribers: kubamracek, mgorny, lldb-commits
Differential Revision: https://reviews.llvm.org/D34625
llvm-svn: 306394
|
| |
|
|
|
|
| |
succesor -> successor
llvm-svn: 306393
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dependent initializer
This commit fixes incorrect source positions of dependent c'tor initializers
like in the following code:
template<typename MyBase>
struct Derived: MyBase::InnerIterator
{
Derived() : MyBase::InnerIterator() {} /// This line is problematic: all positions point to InnerIterator and nothing points to MyBase
};
Patch by Serge Preis!
Differential Revision: https://reviews.llvm.org/D32439
llvm-svn: 306392
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
These interfaces have no dependencies, so it makes sense for them to be
in the lowest level modules, to make sure that other parts of the
codebase can use them without introducing loops.
The only exception here is the Connection::CreateDefaultConnection
method, which I've moved to Host, as it instantiates concrete
implementations, and that's where the implementations live.
Reviewers: jingham, zturner
Subscribers: lldb-commits, mgorny
Differential Revision: https://reviews.llvm.org/D34400
llvm-svn: 306391
|
| |
|
|
|
|
| |
All we need to do is mark it as legal, otherwise it's just like s32.
llvm-svn: 306390
|
| |
|
|
| |
llvm-svn: 306389
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
After this patch, we finally have test cases that require multiple
instruction emission.
Depends on D33590
Reviewers: ab, qcolombet, t.p.northover, rovka, kristof.beyls
Subscribers: javed.absar, llvm-commits, igorb
Differential Revision: https://reviews.llvm.org/D33596
llvm-svn: 306388
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Borrow from the logic for 'jal' in MipsAsmParser::processInstruction
and add the extra condition of bypassing CALL16 if the destination symbol
is an ELF symbol with STB_LOCAL binding.
Patch by: John Baldwin
Reviewers: sdardis
Differential Revision: https://reviews.llvm.org/D33999
llvm-svn: 306387
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The test suite was missing a test about associative maps:
https://developers.google.com/protocol-buffers/docs/proto3#maps
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D34623
llvm-svn: 306386
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
D31709 [NFC] Refactor DiagnosticRenderer to use FullSourceLoc was committed
in r305684 and reverted in 305688 as clang-tidy and clang-query failed to
build. This change updates the extra tools to use the new interface.
Reviewers: christof, rnk, rsmith, rovka, alexfh
Reviewed By: alexfh
Differential Revision: https://reviews.llvm.org/D34513
llvm-svn: 306385
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r305688 meaning it reintroduces r305684. To repeat:
[NFC] Refactor DiagnosticRenderer to use FullSourceLoc
Move the DiagnosticRenderer and its dependents to using FullSourceLocs
instead of a SourceLocation and SourceManager pointer. The changeset is
rather large but entirely mechanical.
This is step one to allow DiagnosticRenderer to take either
llvm::SMLocs or clang::SourceLocations.
This breaks clang-tidy and clng-query which will be fixed in a commit
soon after.
Patch by Sanne Wouda
Differential Revision: https://reviews.llvm.org/D31709
llvm-svn: 306384
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Implements TargetInfo class for Nios2 target.
- Enables handling of -march and -mcpu options for Nios2 target.
- Definition of Nios2 builtin functions.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D33356
Author: belickim <mateusz.belicki@intel.com>
llvm-svn: 306383
|