| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
X, C2 + C); NFC
llvm-svn: 315717
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch By: hctim
Reviewers: morehouse, bogner
Reviewed By: bogner
Subscribers: bogner, kcc, llvm-commits, mgorny
Differential Revision: https://reviews.llvm.org/D38855
llvm-svn: 315716
|
| |
|
|
|
|
|
|
| |
base info
Differential Revision: https://reviews.llvm.org/D38795
llvm-svn: 315715
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This version of tests should be working properly.
Reviewers: vsk
Reviewed By: vsk
Differential Revision: https://reviews.llvm.org/D38889
llvm-svn: 315714
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change uses the loop use list added in the previous change to remember the
loops that appear in the trip count expressions of other loops; and uses it in
forgetLoop. This lets us not scan every loop in the function on a forgetLoop
call.
With this change we no longer invalidate clear out backedge taken counts on
forgetValue. I think this is fine -- the contract is that SCEV users must call
forgetLoop(L) if their change to the IR could have changed the trip count of L;
solely calling forgetValue on a value feeding into the backedge condition of L
is not enough. Moreover, I don't think we can strengthen forgetValue to be
sufficient for invalidating trip counts without significantly re-architecting
SCEV. For instance, if we have the loop:
I = *Ptr;
E = I + 10;
do {
// ...
} while (++I != E);
then the backedge taken count of the loop is 9, and it has no reference to
either I or E, i.e. there is no way in SCEV today to re-discover the dependency
of the loop's trip count on E or I. So a SCEV client cannot change E to (say)
"I + 20", call forgetValue(E) and expect the loop's trip count to be updated.
Reviewers: atrick, sunfish, mkazantsev
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D38435
llvm-svn: 315713
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r315627, fixing bot failures:
http://green.lab.llvm.org/green/job/clang-stage1-configure-RA
LIT is failing to properly apply substitution to debuginfo-tests
after this change.
rdar://problem/34979568
llvm-svn: 315712
|
| |
|
|
| |
llvm-svn: 315711
|
| |
|
|
| |
llvm-svn: 315710
|
| |
|
|
| |
llvm-svn: 315709
|
| |
|
|
|
|
|
|
|
|
| |
base info
This patch should not bring in any functional changes.
Differential Revision: https://reviews.llvm.org/D38794
llvm-svn: 315708
|
| |
|
|
|
|
|
|
| |
This allows __try inside __finally to work.
Fixes PR34939
llvm-svn: 315707
|
| |
|
|
| |
llvm-svn: 315706
|
| |
|
|
|
|
|
|
|
|
| |
info
This patch should not bring in any functional changes.
Differential Revision: https://reviews.llvm.org/D38793
llvm-svn: 315705
|
| |
|
|
|
|
|
|
| |
This patch should not bring in any functional changes.
Differential Revision: https://reviews.llvm.org/D38791
llvm-svn: 315704
|
| |
|
|
| |
llvm-svn: 315703
|
| |
|
|
|
|
|
|
|
|
| |
LValue base info
This patch should not bring in any functional changes.
Differential Revision: https://reviews.llvm.org/D38788
llvm-svn: 315702
|
| |
|
|
|
|
|
| |
The backend should be prepared for this transform after:
https://reviews.llvm.org/rL311731
llvm-svn: 315701
|
| |
|
|
| |
llvm-svn: 315700
|
| |
|
|
|
|
|
| |
These pragmas work around a bug in VC 1911 that isn't present in clang,
and clang warns about them.
llvm-svn: 315699
|
| |
|
|
| |
llvm-svn: 315698
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This refers to a temporary path that can be shared across all tests,
identified by a particular label. This can be used for things like
caches.
At the moment, the character set for the LABEL is limited to C
identifier characters, plus '-', '+', '=', and '.'. This is the same
set of characters currently allowed in REQUIRES clause identifiers.
llvm-svn: 315697
|
| |
|
|
| |
llvm-svn: 315696
|
| |
|
|
|
|
| |
This isn't a property we want inherited.
llvm-svn: 315695
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In RS4GC it is possible that a base pointer is contained in a vector that
has undergone a bitcast from one element-pointertype to another. We teach
RS4GC how to look through bitcasts of vector types when looking for a base
pointer.
Reviewers: anna
Reviewed By: anna
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D38849
llvm-svn: 315694
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/5950/steps/test-stage1-compiler/logs/stdio
Reviewers: vsk, Dor1s
Reviewed By: Dor1s
Subscribers: mehdi_amini
Differential Revision: https://reviews.llvm.org/D38888
llvm-svn: 315693
|
| |
|
|
|
|
| |
Patch by Sumanth Gundapaneni.
llvm-svn: 315692
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: https://reviews.llvm.org/D38884#896964
Reviewers: vsk, Dor1s
Reviewed By: Dor1s
Differential Revision: https://reviews.llvm.org/D38887
llvm-svn: 315691
|
| |
|
|
| |
llvm-svn: 315690
|
| |
|
|
| |
llvm-svn: 315689
|
| |
|
|
|
|
| |
Fix -Wunused-but-set-variable warning.
llvm-svn: 315688
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: https://reviews.llvm.org/rL315685#115380
Reviewers: vsk, Dor1s
Reviewed By: Dor1s
Differential Revision: https://reviews.llvm.org/D38884
llvm-svn: 315687
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: We seem to inconsistently create CMOV nodes some with a Glue result and some without. But I can't find any cases that use the Glue result. So I've tried to remove all the place that did this.
Reviewers: RKSimon, spatel, zvi
Reviewed By: RKSimon
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D38664
llvm-svn: 315686
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Documentation says that user can specify sources for both "show" and
"report" commands. "Show" command respects specified sources, but "report" does
not. It is useful to have both "show" and "report" generated for specified
sources. Also added tests to for both commands with sources specified.
Reviewers: vsk, kcc
Reviewed By: vsk
Differential Revision: https://reviews.llvm.org/D38860
llvm-svn: 315685
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds timestamp verification for swiftmodule files. A new flag
is provided to allows us to disable this check in order to allow testing
of this feature.
Differential revision: https://reviews.llvm.org/D38686
llvm-svn: 315684
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch teaches SCEV to calculate the maxBECount when the end bound
of the loop can vary. Note that we cannot calculate the exactBECount.
This will only be done when both conditions are satisfied:
1. the loop termination condition is strictly LT.
2. the IV is proven to not overflow.
This provides more information to users of SCEV and can be used to
improve identification of finite loops.
Reviewers: sanjoy, mkazantsev, silviu.baranga, atrick
Reviewed by: mkazantsev
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D38825
llvm-svn: 315683
|
| |
|
|
|
|
|
| |
Add a regression test for the google-readability-namespace-comments bug
introduced in r315057 (reverted in r315580).
llvm-svn: 315682
|
| |
|
|
| |
llvm-svn: 315681
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
addressing mode"
Significantly reduces performancei (~30%) of gipfeli
(https://github.com/google/gipfeli)
I have not yet managed to reproduce this regression with the open-source
version of the benchmark on github, but will work with others to get a
reproducer to you later today.
llvm-svn: 315680
|
| |
|
|
|
|
|
|
|
|
| |
Minor doc update that the FileCheck matcher supports POSIX ERE.
It also fixes a minor issue in the regexp describing a variable
name: underscores are allowed too.
Differential Revision: https://reviews.llvm.org/D38787
llvm-svn: 315679
|
| |
|
|
| |
llvm-svn: 315678
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch fixes the crash from https://bugs.llvm.org/show_bug.cgi?id=34659 and https://bugs.llvm.org/show_bug.cgi?id=34833.
Reviewers: rnk, majnemer
Reviewed By: rnk, majnemer
Subscribers: majnemer, llvm-commits
Differential Revision: https://reviews.llvm.org/D38223
llvm-svn: 315677
|
| |
|
|
|
|
|
|
| |
The original sentence didn't really make sense.
Patch by Vedant Kumar. Thanks!
llvm-svn: 315676
|
| |
|
|
| |
llvm-svn: 315675
|
| |
|
|
|
|
|
|
| |
Prefer vbroadcastsd/vpbroadcastq instead.
There's no advantage to using these instructions when they aren't masked. This enables some additional execution domain switching without needing to update the table.
llvm-svn: 315674
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relocations.cpp is still head-scratching. Even though relocations are
processed by multiple functions, the functions are effectively one
gigantic function with lots of local and global shared states, because
they are really tightly coupled. It is really hard to predict whether
a change to a function will or will not affect other functions behaviors.
What I'm trying to do is to rewrite the code without breaking the
existing tests so that the code can tolerate a more aggressive
refactoring (i.e. splitting it to logically separated steps).
llvm-svn: 315673
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently we do not correctly invalidate memoized results for add recurrences
that were created directly (i.e. they were not created from a `Value`). This
change fixes this by keeping loop use lists and using the loop use lists to
determine which SCEV expressions to invalidate.
Here are some statistics on the number of uses of in the use lists of all loops
on a clang bootstrap (config: release, no asserts):
Count: 731310
Min: 1
Mean: 8.555150
50th %time: 4
95th %tile: 25
99th %tile: 53
Max: 433
Reviewers: atrick, sunfish, mkazantsev
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D38434
llvm-svn: 315672
|
| |
|
|
|
|
| |
Use less temporary APInts. Use bit counting more. Don't call getScalarSizeInBits so many places, just capture it once.
llvm-svn: 315671
|
| |
|
|
| |
llvm-svn: 315670
|
| |
|
|
|
|
|
| |
"IsWrite" variable didn't make sense and was misleading because
it became true even if a section is not writable.
llvm-svn: 315669
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently Clang uses default address space (0) to represent private address space for OpenCL
in AST. There are two issues with this:
Multiple address spaces including private address space cannot be diagnosed.
There is no mangling for default address space. For example, if private int* is emitted as
i32 addrspace(5)* in IR. It is supposed to be mangled as PUAS5i but it is mangled as
Pi instead.
This patch attempts to represent OpenCL private address space explicitly in AST. It adds
a new enum LangAS::opencl_private and adds it to the variable types which are implicitly
private:
automatic variables without address space qualifier
function parameter
pointee type without address space qualifier (OpenCL 1.2 and below)
Differential Revision: https://reviews.llvm.org/D35082
llvm-svn: 315668
|