| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This was originally part of rL328132, and led to the discovery
of the issues addressed in rL328987. Re-landing.
Reviewers: xur, davidxl, bkramer
Reviewed By: bkramer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D45545
llvm-svn: 330029
|
| |
|
|
| |
llvm-svn: 330025
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro
Reviewed By: rengolin
Subscribers: tschuett, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D45618
llvm-svn: 330024
|
| |
|
|
|
|
| |
WriteFAdd
llvm-svn: 330023
|
| |
|
|
| |
llvm-svn: 330022
|
| |
|
|
| |
llvm-svn: 330021
|
| |
|
|
| |
llvm-svn: 330019
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change extend the register dependency check for implicit operands in Copy instructions.
Fixes PR36902.
Reviewers: thegameg, sebpop, uweigand, jnspaulsson, gberry, mcrosier, qcolombet, MatzeB
Reviewed By: thegameg
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D44958
llvm-svn: 330018
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Added instructions for contiguous stores, ST1, with scalar+imm addressing
modes and corresponding tests. The patch also adds parsing of
'mul vl' as needed for the VL-scaled immediate.
This is patch [6/6] in a series to add assembler/disassembler support for
SVE's contiguous ST1 (scalar+imm) instructions.
Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro
Reviewed By: rengolin
Subscribers: tschuett, llvm-commits, kristof.beyls
Differential Revision: https://reviews.llvm.org/D45432
llvm-svn: 330014
|
| |
|
|
| |
llvm-svn: 330013
|
| |
|
|
|
|
|
|
| |
instruction
Differential Revision: https://reviews.llvm.org/D45514
llvm-svn: 330011
|
| |
|
|
|
|
| |
"the the" -> "the", "we we" -> "we", etc
llvm-svn: 330006
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The fold added in D45108 did not account for the fact that
the and instruction is commutative, and if the mask is a variable,
the mask variable and the fold variable may be swapped.
I have noticed this by accident when looking into [[ https://bugs.llvm.org/show_bug.cgi?id=6773 | PR6773 ]]
This extends/generalizes that fold, so it is handled too.
Reviewers: spatel, craig.topper
Reviewed By: spatel
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D45539
llvm-svn: 330001
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Added Z_(b|h|s|d) vector list RegisterOperands along with support to
add/print the vector lists.
This is patch [5/6] in a series to add assembler/disassembler support for
SVE's contiguous ST1 (scalar+imm) instructions.
Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro
Reviewed By: fhahn
Subscribers: tschuett, kristof.beyls, llvm-commits
Differential Revision: https://reviews.llvm.org/D45431
llvm-svn: 330000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hint to hardware to move the cache line containing the
address to a more distant level of the cache without
writing back to memory.
Reviewers: craig.topper, zvi
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D45256
llvm-svn: 329992
|
| |
|
|
|
|
|
|
|
|
|
| |
The commit in SVN r310001 that added support for this actually didn't
use the right struct field for the frame pointer - for ARM, there is
no register named Fp in the CONTEXT struct. On Windows, the R11
register is used as frame pointer.
Differential Revision: https://reviews.llvm.org/D45590
llvm-svn: 329991
|
| |
|
|
|
|
|
|
| |
This completes the work started in r329604 and r329605 when we changed clang to no longer use the intrinsics.
We lost some InstCombine SimplifyDemandedBit optimizations through this change as we aren't able to fold 'and', bitcast, shuffle very well.
llvm-svn: 329990
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This enables debug fission on implicit ThinLTO when linked with gold. It will put the .dwo files in a directory specified by user.
Reviewers: tejohnson, pcc, dblaikie
Reviewed By: pcc
Subscribers: JDevlieghere, mehdi_amini, inglorion
Differential Revision: https://reviews.llvm.org/D44792
llvm-svn: 329988
|
| |
|
|
| |
llvm-svn: 329987
|
| |
|
|
|
|
| |
Was being used to move around empty/unused itineraries...
llvm-svn: 329970
|
| |
|
|
|
|
| |
This removes the last of the x86 schedule itineraries, I'm intending to cleanup the remaining uses of NoItinerary/OpndItins/etc. before resolving PR37093.
llvm-svn: 329967
|
| |
|
|
| |
llvm-svn: 329964
|
| |
|
|
|
|
|
| |
opt-bisect shouldn't skip these passes; they lower intrinsics which
no other pass can handle.
llvm-svn: 329961
|
| |
|
|
|
|
|
| |
I'm told the repeat of "500000, 600000," is accidental, and should be
removed.
llvm-svn: 329959
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a code size win in code that takes offseted addresses
frequently, such as C++ constructors that typically need to compute
an offseted address of a vtable. This reduces the size of Chromium
for Android's .text section by 108KB.
Differential Revision: https://reviews.llvm.org/D45199
llvm-svn: 329956
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This lifts a restriction on DILocation::getMergedLocation(), allowing it
to create merged locations for instructions other than calls.
Instruction::applyMergedLocation() now defaults to creating merged
locations for all instructions.
The default behavior of getMergedLocation() is unchanged: callers which
invoke it directly are unaffected.
This change will enable a follow-up Mem2Reg fix which improves crash
reporting.
Differential Revision: https://reviews.llvm.org/D45396
llvm-svn: 329955
|
| |
|
|
| |
llvm-svn: 329954
|
| |
|
|
| |
llvm-svn: 329953
|
| |
|
|
|
|
|
|
|
|
| |
This parses a mangled name into an AST (typically an intermediate stage in
itaniumDemangle) and provides some functions to query certain properties or
print certain parts of the demangled name.
Differential revision: https://reviews.llvm.org/D44668
llvm-svn: 329951
|
| |
|
|
|
|
|
| |
I'm committing this to libcxxabi too so that the two demanglers remain as
simular as possible.
llvm-svn: 329950
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D45579
llvm-svn: 329947
|
| |
|
|
| |
llvm-svn: 329945
|
| |
|
|
|
|
|
| |
Hopefully this will fix the build failure at
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/9028
llvm-svn: 329944
|
| |
|
|
| |
llvm-svn: 329943
|
| |
|
|
| |
llvm-svn: 329940
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GCC compresses the pseudo instruction "mv rd, rs", which is an alias of
"addi rd, rs, 0", to "c.mv rd, rs".
In LLVM we rely on the canonical MC instruction (MCInst) to do our compression
checks and since there is no rule to compress "addi rd, rs, 0" --> "c.mv
rd, rs" we lose this compression opportunity to gcc.
In this patch we fix that by adding an addi to c.mv compression pattern, the
instruction "mv rd, rs" will be compressed to "c.mv rd, rs" just like
gcc does.
Patch by Zhaoshi Zheng (zzheng) and Sameer (sabuasal).
Reviewers: asb, apazos, zzheng, mgrang, shiva0217
Reviewed By: asb
Subscribers: rbar, johnrusso, simoncook, jordy.potman.lists, niosHD, kito-cheng, llvm-commits
Differential Revision: https://reviews.llvm.org/D45583
llvm-svn: 329939
|
| |
|
|
| |
llvm-svn: 329938
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A previously missing intrinsic for an old instruction.
Reviewers: craig.topper, echristo
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D45312
llvm-svn: 329936
|
| |
|
|
| |
llvm-svn: 329935
|
| |
|
|
|
|
|
| |
This allows materializers to notify the VSO that they were unable to
resolve or finalize symbols.
llvm-svn: 329934
|
| |
|
|
| |
llvm-svn: 329933
|
| |
|
|
|
|
|
|
|
|
|
| |
Legalize and emit code for:
* xscvsdqp
* xscvudqp
Differential Revision: https://reviews.llvm.org/D45230
llvm-svn: 329931
|
| |
|
|
|
|
|
| |
This is a layering violation. LTO shouldn't depend on MCJIT. The right
fix for this is moving the class somewhere else.
llvm-svn: 329929
|
| |
|
|
|
|
|
| |
Remove superfluous #includes.
Minor code style change in MipsCallLowering::lowerFormalArguments().
llvm-svn: 329926
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
AFI->setRedZone(false) was put in the wrong place before, and so it only fired
on functions that didn't have stack frames. This moves that to the top of
emitPrologue to make sure that every function without a redzone has it set
correctly.
This also adds a function representing one of the early exit cases (GHC calling
convention) to the MachineOutliner noredzone test to ensure that we can outline
from functions like these, where we never use a redzone.
llvm-svn: 329922
|
| |
|
|
|
|
|
| |
This change is exposing UB in source code - as was warned/predicted. :)
See D44909 for discussion. Reverting while we figure out how to fix things.
llvm-svn: 329920
|
| |
|
|
|
|
|
|
|
|
|
| |
There are cases when individual NodeSets can be equal with respect to
the ordering criteria. Since they are stored in an ordered container,
use stable_sort to preserve the relative order of equal NodeSets.
This should remove non-determinism discovered by shuffling done in
llvm::sort with expensive checks enabled.
llvm-svn: 329915
|
| |
|
|
| |
llvm-svn: 329913
|
| |
|
|
|
|
| |
(PR37093)
llvm-svn: 329912
|
| |
|
|
|
|
| |
This reverts commit r329865. Causes stage2/stage3 miscompare.
llvm-svn: 329910
|