| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
register moves. These can be accomplished with both aligned and unaligned opcodes.
Currently aligned is what is being used so remove the redundant patterns for the unaligned versions. But don't do this for the byte and word vector types since they don't have aligned versions.
llvm-svn: 261985
|
| |
|
|
| |
llvm-svn: 261984
|
| |
|
|
| |
llvm-svn: 261983
|
| |
|
|
|
|
| |
This change tries to find more opportunities to thread over basic blocks.
llvm-svn: 261981
|
| |
|
|
| |
llvm-svn: 261979
|
| |
|
|
|
|
| |
isX86_64ExtendedReg. NFC
llvm-svn: 261978
|
| |
|
|
|
|
| |
%zmm16-%zmm31 when AVX512 is not enabled in the asm parser.
llvm-svn: 261977
|
| |
|
|
| |
llvm-svn: 261971
|
| |
|
|
| |
llvm-svn: 261968
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17475
llvm-svn: 261966
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also simplifies the code by removing the overly conservative
NoInterveningSideEffect() function. This function checked:
- That the two copies belong to the same block: We only process one
block at a time and clear our maps in between it is impossible to find a
copy from a different block.
- There is no terminator between the two copy instructions: This is not
allowed anyway (the MachineVerifier would complain)
- Does not have instructions with hasUnmodeledSideEffects() or isCall()
set: Even for those instructuction we must have all clobbers/defs of
registers explicit as an operand. If the register is explicitely
clobbered we would never come to the point of checking for
NoInterveningSideEffect() anyway.
(I also checked this with a temporary build of the test-suite with all
potentially failing conditions in NoInterveningSideEffect() turned into
asserts)
Differential Revision: http://reviews.llvm.org/D17474
llvm-svn: 261965
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17324
llvm-svn: 261959
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
simulating.
Summary: Check that we're using SCEV for the same loop we're simulating. Otherwise, we might try to use the iteration number of the current loop in SCEV expressions for inner/outer loops IVs, which is clearly incorrect.
Reviewers: chandlerc, hfinkel
Subscribers: sanjoy, llvm-commits, mzolotukhin
Differential Revision: http://reviews.llvm.org/D17632
llvm-svn: 261958
|
| |
|
|
| |
llvm-svn: 261955
|
| |
|
|
|
|
| |
more cases in future.
llvm-svn: 261954
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is the first simple attempt to reduce number of coverage-
instrumented blocks.
If a basic block dominates all its successors, then its coverage
information is useless to us. Ingore such blocks if
santizer-coverage-prune-tree option is set.
Differential Revision: http://reviews.llvm.org/D17626
llvm-svn: 261949
|
| |
|
|
| |
llvm-svn: 261948
|
| |
|
|
| |
llvm-svn: 261946
|
| |
|
|
|
|
|
|
| |
Inline-asm calls aren't annotated with funclet bundle operands because
they don't throw and cannot be inlined through. We shouldn't require
them to bear an funclet bundle operand.
llvm-svn: 261942
|
| |
|
|
| |
llvm-svn: 261934
|
| |
|
|
|
|
| |
It doesn't make much sense to export these symbols.
llvm-svn: 261931
|
| |
|
|
| |
llvm-svn: 261927
|
| |
|
|
| |
llvm-svn: 261922
|
| |
|
|
| |
llvm-svn: 261918
|
| |
|
|
| |
llvm-svn: 261916
|
| |
|
|
|
|
| |
Introduce move constructor and move assignment operator to PostDominatorTree.
llvm-svn: 261910
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D17523
llvm-svn: 261907
|
| |
|
|
|
|
|
|
| |
PassManager. NFC
Differential Revision: http://reviews.llvm.org/D17571
llvm-svn: 261904
|
| |
|
|
|
|
|
|
| |
DominanceFrontier. NFC
Differential Revision: http://reviews.llvm.org/D17570
llvm-svn: 261903
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17537
llvm-svn: 261902
|
| |
|
|
|
|
|
| |
These should all be deferring to the "OP (literal)" variant according to the
ARM ARM.
llvm-svn: 261895
|
| |
|
|
|
|
|
|
| |
manager. NFC"
This reverts commit a3e5cc6a51ab5ad88d1760c63284294a4e34c018.
llvm-svn: 261891
|
| |
|
|
|
|
|
|
| |
compute DominanceFrontier. NFC"
This reverts commit 109c38b2226a87b0be73fa7a0a8c1a81df20aeb2.
llvm-svn: 261890
|
| |
|
|
|
|
|
|
| |
PassManager. NFC"
This reverts commit 8228b4d374edeb4cc0c5fddf6e1ab876918ee126.
llvm-svn: 261889
|
| |
|
|
| |
llvm-svn: 261888
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Avoid special case for FP, LR CFI emission and just allow general
AArch64FrameLowering::emitCalleeSavedFrameMoves() to handle them. Also,
stop recalculating the stack offsets in emitCalleeSavedFrameMoves()
since we can just reuse the previously calculated offset stored in the
MachineFrameInfo.
Depends on D17000
Reviewers: t.p.northover, rengolin, mcrosier, jmolloy
Subscribers: aemerson, rengolin, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D17004
llvm-svn: 261885
|
| |
|
|
|
|
|
|
| |
PassManager. NFC
Differential Revision: http://reviews.llvm.org/D17571
llvm-svn: 261884
|
| |
|
|
|
|
|
|
| |
DominanceFrontier. NFC
Differential Revision: http://reviews.llvm.org/D17570
llvm-svn: 261883
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17537
llvm-svn: 261882
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support all instructions with VOP1 encoding with 32 or 64-bit operands for VI subtarget:
VGPR_32 and VReg_64 operand register classes
VS_32 and VS_64 operand register classes with inline and literal constants
Tests for VOP1 instructions.
Patch by: skolton
Reviewers: arsenm, tstellarAMD
Review: http://reviews.llvm.org/D17194
llvm-svn: 261878
|
| |
|
|
| |
llvm-svn: 261877
|
| |
|
|
|
|
|
|
| |
Change memory operand parser handling.
Differential Revision: http://reviews.llvm.org/D17564
llvm-svn: 261862
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16181
llvm-svn: 261860
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resubmit with index problem fixed. Verified with valgrind.
Prepare to support DPP encodings.
For DPP encodings, we want row_mask/bank_mask/bound_ctrl to be optional operands.
However this means that when parsing instruction which has no mnemonic prefix,
we cannot add both default values for VOP3 and for DPP optional operands
to OperandVector - neither instructions would match. So add default values
for optional operands to MCInst during conversion instead.
Mark more operands as IsOptional = 1 in .td files.
Do not add default values for optional operands to OperandVector in AMDGPUAsmParser.
Add default values for optional operands during conversion using new helper addOptionalImmOperand.
Change to cvtVOP3_2_mod to check instruction flag instead of presence of modifiers. In the future, cvtVOP3* functions can be combined into one.
Separate cvtFlat and cvtFlatAtomic.
Fix CNDMASK_B32 definition to have no modifiers.
Review: http://reviews.llvm.org/D17445
llvm-svn: 261856
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the testing more more explicit.
This will currently fail on platforms without support for getTypeName.
While an assert failure seems too harsh, I'm hoping we're OK with the
regression test failure, and I'd like to find out about what platforms
actually exist in this state if there are any so we can get
implementations in place for them.
But if we just can't fix all the host compilers to have a reasonably
portable variant of getTypeName and are worried about xfailing this test
on those platforms, I can add the horrible regular expression magic to
make the tests support "unknown" here as well.
llvm-svn: 261853
|
| |
|
|
|
|
| |
Now that PerformShuffleCombine can handle unary shuffles.
llvm-svn: 261843
|
| |
|
|
|
|
|
|
| |
on win32 for now. Investigating."
It seems unreproducible any more for me.
llvm-svn: 261842
|
| |
|
|
|
|
| |
It brought undefined behavior.
llvm-svn: 261839
|
| |
|
|
|
|
|
|
|
|
|
| |
This creates the new-style LoopPassManager and wires it up with dummy
and print passes.
This version doesn't support modifying the loop nest at all. It will
be far easier to discuss and evaluate the approaches to that with this
in place so that the boilerplate is out of the way.
llvm-svn: 261831
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch is a partial revert of https://llvm.org/svn/llvm-project/llvm/trunk@237793.
Extra "and" causes performance degradation.
We assume that i1 is stored in zero-extended form. And store operation is responsible for zeroing upper bits.
Differential Revision: http://reviews.llvm.org/D17541
llvm-svn: 261828
|