| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13769
llvm-svn: 250650
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13632
llvm-svn: 250649
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a RegExp contains a character group with a quote (/["]/), the
trailing end of it is first tokenized as a string literal, which leads
to the merging code seeing an unbalanced bracket.
This change parses regex literals from the left hand side. That
simplifies the parsing code and also allows correctly handling escapes
and character classes, hopefully correctly parsing all regex literals.
Patch by Martin Probst, thank you.
Review: http://reviews.llvm.org/D13765
llvm-svn: 250648
|
| |
|
|
| |
llvm-svn: 250647
|
| |
|
|
|
|
| |
for loops worked with arrays.
llvm-svn: 250646
|
| |
|
|
| |
llvm-svn: 250645
|
| |
|
|
|
|
| |
registers. Should reduce the table size.
llvm-svn: 250644
|
| |
|
|
| |
llvm-svn: 250643
|
| |
|
|
| |
llvm-svn: 250642
|
| |
|
|
| |
llvm-svn: 250641
|
| |
|
|
| |
llvm-svn: 250640
|
| |
|
|
| |
llvm-svn: 250639
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Key constant values (version, magic) and data structures related to raw and
indexed profile format are moved into one centralized file: InstrProf.h.
2. Utility function such as MD5Hash computation is also moved to the common
header to allow sharing with other components in the future.
3. A header data structure is introduced for Indexed format so that the reader
and writer can always be in sync.
4. Added some comments to document different places where multiple definition
of the data structure must be kept in sync (reader/writer, runtime, lowering
etc). No functional change is intended.
Differential Revision: http://reviews.llvm.org/D13758
llvm-svn: 250638
|
| |
|
|
|
|
|
|
|
|
| |
Expressing this in terms of BlockGenerator::getOrCreateAlloca(const
ScopArrayInfo *Array) does not work as the MemoryAccess BasePtr is in case of
invariant load hoisting different to the ScopArrayInfo BasePtr. Until this is
investigated and fixed, we move back to code that just uses the baseptr of
MemoryAccess.
llvm-svn: 250637
|
| |
|
|
| |
llvm-svn: 250636
|
| |
|
|
| |
llvm-svn: 250635
|
| |
|
|
| |
llvm-svn: 250634
|
| |
|
|
| |
llvm-svn: 250633
|
| |
|
|
|
|
| |
ps4-linker-win.c@250403. Cygwin seeks dependent libs along $PATH.
llvm-svn: 250632
|
| |
|
|
|
|
| |
driver wouldn't find it.
llvm-svn: 250631
|
| |
|
|
|
|
| |
used but *fails*.
llvm-svn: 250630
|
| |
|
|
| |
llvm-svn: 250629
|
| |
|
|
|
|
|
|
| |
This allows the caller to get the alloca locations of an array without the
need to thank if Array is a PHI or a non-PHI Array. We directly make use of this
in BlockGenerator::getOrCreateAlloca(MemoryAccess &Access).
llvm-svn: 250628
|
| |
|
|
|
|
|
|
| |
Other places (e.g. hoistInvariantLoads) assume that an empty lookup
will return nullptr. The situation can currently not arise because
MemoryAccesses are not removed before hoistInvariantLoads.
llvm-svn: 250627
|
| |
|
|
|
|
|
|
| |
While clang-format takes care that the line-length is not surpassed, the
resulting comments sometimes look not optimal. We re-flow the text in the
comment to avoid these ugly single-word lines.
llvm-svn: 250626
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating implicit loads within basic blocks, put them
before the instructions of the statment itself, including non-affine
subregions. The region's entry node is dominating all blocks in the
region and therefore the loaded value will be available there.
Implicit writes in block-stmts were already stored back at the end of
the block. Now, also generate the stores of non-affine subregions when
leaving the statement, i.e. in the exiting block.
This change is required for array-mapped implicits ("De-LICM") to
ensure that there are no dependencies of demoted scalars within
statments. Statement load all required values, operator on copied in
registers, and then write back the changed value to the demoted memory.
Lifetimes analysis within statements becomes unecessary.
Differential Revision: http://reviews.llvm.org/D13487
llvm-svn: 250625
|
| |
|
|
| |
llvm-svn: 250624
|
| |
|
|
|
|
| |
predicate struct with a lambda.
llvm-svn: 250623
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Accesses for exit node phis will be handled separately by
buildPHIAccesses if there is more than one exiting edge,
buildScalarDependences does not need to create additional SCALAR
accesses.
This is a corrected version of r250517, which was reverted in r250607.
Differential Revision: http://reviews.llvm.org/D13848
llvm-svn: 250622
|
| |
|
|
| |
llvm-svn: 250621
|
| |
|
|
|
|
| |
Added X86ISD opcodes for VPROT vector rotate by variable and by immediate.
llvm-svn: 250620
|
| |
|
|
| |
llvm-svn: 250619
|
| |
|
|
| |
llvm-svn: 250618
|
| |
|
|
| |
llvm-svn: 250617
|
| |
|
|
|
|
| |
Minor fix to D13665 found during post-commit review.
llvm-svn: 250616
|
| |
|
|
|
|
| |
take ArrayRef instead of pointer and length. NFC
llvm-svn: 250615
|
| |
|
|
| |
llvm-svn: 250614
|
| |
|
|
| |
llvm-svn: 250613
|
| |
|
|
|
|
| |
Targets with AVX but without AVX2 were incorrectly reporting costs of 256-bit integer shifts.
llvm-svn: 250611
|
| |
|
|
|
|
|
|
|
|
| |
Add FastISel support for SSE4A scalar float / double non-temporal stores
Follow up to D13698
Differential Revision: http://reviews.llvm.org/D13773
llvm-svn: 250610
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch improves support for combining the SSE4A EXTRQ(I) and INSERTQ(I) intrinsics:
1 - Converts INSERTQ/EXTRQ calls to INSERTQI/EXTRQI if the 'bit index' and 'length' operands are constant
2 - Converts INSERTQI/EXTRQI calls to shufflevector if the bit index/length are both byte aligned (we can already lower shuffles to INSERTQI/EXTRQI if its useful)
3 - Constant folding support
4 - Add zeroinitializer handling
Differential Revision: http://reviews.llvm.org/D13348
llvm-svn: 250609
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of checking at code generation time for each ScopStmt if a scalar has
external uses, we just iterate over the ScopArrayInfo descriptions we have and
check each of these for possible external uses.
Besides being somehow clearer, this approach has the benefit that we will always
create valid LLVM-IR even in case we disable the code generation of ScopStmt
bodies e.g. for testing purposes.
llvm-svn: 250608
|
| |
|
|
|
|
|
| |
This reverts commit r250606 due to some bugs it introduced. After these bugs
have been resolved, we will add it back to tree.
llvm-svn: 250607
|
| |
|
|
| |
llvm-svn: 250606
|
| |
|
|
|
|
| |
Reported by: Kim Grasman!
llvm-svn: 250605
|
| |
|
|
|
|
| |
The old JIT is (long) gone.
llvm-svn: 250604
|
| |
|
|
| |
llvm-svn: 250603
|
| |
|
|
| |
llvm-svn: 250602
|
| |
|
|
| |
llvm-svn: 250601
|
| |
|
|
| |
llvm-svn: 250600
|