| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The interleaved access analysis currently assumes that the inserted run-time
pointer aliasing checks ensure the absence of dependences that would prevent
its instruction reordering. However, this is not the case.
Issues can arise from how code generation is performed for interleaved groups.
For a load group, all loads in the group are essentially moved to the location
of the first load in program order, and for a store group, all stores in the
group are moved to the location of the last store. For groups having members
involved in a dependence relation with any other instruction in the loop, this
reordering can violate the dependence.
This patch teaches the interleaved access analysis how to avoid breaking such
dependences, and should fix PR27626.
An assumption of the original analysis was that the accesses had been collected
in "program order". The analysis was then simplified by visiting the accesses
bottom-up. However, this ordering was never guaranteed for anything other than
single basic block loops. Thus, this patch also enforces the desired ordering.
Reference: https://llvm.org/bugs/show_bug.cgi?id=27626
Differential Revision: http://reviews.llvm.org/D19984
llvm-svn: 273687
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a resubmittion of previously reverted rL273568.
This is a fix for the problem mentioned in "LTO and intrinsics mangling" llvm-dev mail thread:
http://lists.llvm.org/pipermail/llvm-dev/2016-April/098387.html
Reviewers: mehdi_amini, reames
Differential Revision: http://reviews.llvm.org/D19373
llvm-svn: 273686
|
| |
|
|
|
|
| |
Intrinsic::matchIntrinsicVarArg since it will be reused for intrinsic remangling code
llvm-svn: 273685
|
| |
|
|
|
|
|
| |
The Value is only used in debug or asserts builds. Just cast to void to silence
an unused variable warning.
llvm-svn: 273684
|
| |
|
|
| |
llvm-svn: 273683
|
| |
|
|
|
|
|
|
|
| |
This adds rudimentary support for COFF ARM to the dynamic loader for the
exeuction engine. This can be used by lldb to JIT code into a COFF ARM
environment. This lays the foundation for the loader, though a few of the
relocation types are yet unhandled.
llvm-svn: 273682
|
| |
|
|
| |
llvm-svn: 273681
|
| |
|
|
| |
llvm-svn: 273680
|
| |
|
|
|
|
| |
Should fix the msan bots.
llvm-svn: 273679
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21657
llvm-svn: 273678
|
| |
|
|
|
|
| |
This doesn't handle ELF, but neither did the previous code.
llvm-svn: 273677
|
| |
|
|
| |
llvm-svn: 273676
|
| |
|
|
|
|
| |
Fixing build issue for test test/CodeGen/struct-union-BE.c.
llvm-svn: 273675
|
| |
|
|
| |
llvm-svn: 273674
|
| |
|
|
| |
llvm-svn: 273673
|
| |
|
|
| |
llvm-svn: 273672
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We can avoid repeating the check `isGuaranteedToExecute` when it's already called once while checking if the alignment can be widened for the load/store being hoisted.
The function is invariant for the same instruction `UI` in `isGuaranteedToExecute(*UI, DT, CurLoop, SafetyInfo);`
Reviewers: hfinkel, eli.friedman
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D21672
llvm-svn: 273671
|
| |
|
|
|
|
| |
Revert change until build issues with MSVC can be resolved.
llvm-svn: 273670
|
| |
|
|
| |
llvm-svn: 273669
|
| |
|
|
| |
llvm-svn: 273668
|
| |
|
|
| |
llvm-svn: 273667
|
| |
|
|
| |
llvm-svn: 273666
|
| |
|
|
|
|
|
|
| |
smaller than register as argument in variadic functions on
big endian architectures.
Differential Revision: http://reviews.llvm.org/D21611
llvm-svn: 273665
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This change introduces two types, `FixedSizeStorage` and `FixedSizeStorageOwner`, which can be used to provide stack-allocated objects with trailing objects.
Reviewers: rsmith, faisalv, aaron.ballman
Subscribers: llvm-commits, cfe-commits, nwilson
Differential Revision: http://reviews.llvm.org/D19770
llvm-svn: 273664
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the next sample script would generate 2 entries in
Config->SymbolVersions with the same version name.
VERSION {
global: c;
};
That happened because parseVersionSymbols() was called twice.
At first for "global:" and since there is no local tag, it was called again.
Patch fixes the issue, testcase was updated to demonstrate.
Differential revision: http://reviews.llvm.org/D21640
llvm-svn: 273663
|
| |
|
|
| |
llvm-svn: 273662
|
| |
|
|
|
|
|
|
|
|
| |
Patch implements support of zlib style compressed sections.
SHF_COMPRESSED flag is used to recognize that decompression is required.
After that decompression is performed and flag is removed from output.
Differential revision: http://reviews.llvm.org/D20272
llvm-svn: 273661
|
| |
|
|
| |
llvm-svn: 273660
|
| |
|
|
| |
llvm-svn: 273659
|
| |
|
|
|
|
|
|
| |
This reverts commit r273565.
This was an over-eager revert.
llvm-svn: 273658
|
| |
|
|
|
|
|
|
| |
This will do various things including ones
CodeGenPrepare does, but with knowledge of uniform
values.
llvm-svn: 273657
|
| |
|
|
|
|
| |
Hopefully the buildbots have had enough time to pick this up by now.
llvm-svn: 273656
|
| |
|
|
|
|
|
|
| |
Un XFAIL a few tests plus a few more I had lying around
in my tree, which seem to all work now but I don't see tests
that quite test the same things.
llvm-svn: 273655
|
| |
|
|
| |
llvm-svn: 273654
|
| |
|
|
|
|
|
|
| |
The only real reason to use it is for testing, so replace
it with a command line option instead of a potentially function
dependent feature.
llvm-svn: 273653
|
| |
|
|
|
|
|
|
|
| |
Split AMDGPUSubtarget into amdgcn/r600 specific subclasses.
This removes most of the static_casting of the basic codegen
classes everywhere, and tries to restrict the features
visible on the wrong target.
llvm-svn: 273652
|
| |
|
|
| |
llvm-svn: 273651
|
| |
|
|
|
|
| |
No functional change is intended, just a small refactoring.
llvm-svn: 273650
|
| |
|
|
| |
llvm-svn: 273649
|
| |
|
|
| |
llvm-svn: 273648
|
| |
|
|
|
|
| |
No functional change is intended, just a small refactoring.
llvm-svn: 273647
|
| |
|
|
|
|
|
| |
MSVC allocates fresh storage for consecutive bitfields with different
underlying types.
llvm-svn: 273646
|
| |
|
|
|
|
|
| |
MSVC allocates fresh storage for consecutive bitfields with different
underlying types.
llvm-svn: 273645
|
| |
|
|
|
|
|
| |
This makes the code a little more concise, no functional change is
intended.
llvm-svn: 273644
|
| |
|
|
| |
llvm-svn: 273643
|
| |
|
|
|
|
|
|
|
| |
They were using output streams inconsistently. One also had a grammar
bug.
I noticed these while trying to pare down D18278.
llvm-svn: 273642
|
| |
|
|
|
|
|
|
|
| |
Some buildbots are complaining about a .s file under test/ that was
inadvertently created by a test earlier today, and is still hanging
around. I'll undo this change in ~1hr (or whenever the bots are done
getting rid of said file).
llvm-svn: 273641
|
| |
|
|
|
|
|
|
|
|
|
| |
5-argument version of the Python command function
This:
a) teaches PythonCallable to look inside a callable object
b) teaches PythonCallable to discover whether a callable method is bound
c) teaches lldb.command to dispatch to either the older 4 argument version or the newer 5 argument version
llvm-svn: 273640
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reduce the number of comparisons.
Specifically, InstCombine can turn:
(i == 5334 || i == 5335)
into:
((i | 1) == 5335)
SimplifyCFG was already able to detect the pattern:
(i == 5334 || i == 5335)
to:
((i & -2) == 5334)
This patch supersedes D21315 and resolves PR27555
(https://llvm.org/bugs/show_bug.cgi?id=27555).
Thanks to David and Chandler for the suggestions!
Author: Thomas Jablin (tjablin)
Reviewers: majnemer chandlerc halfdan cycheng
http://reviews.llvm.org/D21397
llvm-svn: 273639
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
module summary.
The function name Module::empty() is slightly misleading in that it
only tests for the presence of functions in the module. However we
still want to emit the module summary if the module contains only
global variables or aliases. The presence of such entities can be
determined simply by checking the summary directly, as we are doing
below.
Differential Revision: http://reviews.llvm.org/D21669
llvm-svn: 273638
|