OSDN Git Service
Sanjoy Das [Sun, 29 May 2016 00:37:45 +0000 (00:37 +0000)]
[SCEV] Remove unused function; NFC
Moreover, I've never seen globally scoped `static inline` functions
elsewhere in LLVM, so this pattern is unusual if not unidiomatic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271155
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Sun, 29 May 2016 00:36:42 +0000 (00:36 +0000)]
[SCEV] Comment and whitesapce changes in header
- Use doxygen-style comments
- Don't repeat member names in comments
- Add newlines between declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271154
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Sun, 29 May 2016 00:36:25 +0000 (00:36 +0000)]
[IndVars] Eliminate op.with.overflow when possible (re-apply)
Summary:
If we can prove that an op.with.overflow intrinsic does not overflow, we
can get rid of the intrinsic, and replace it with non-wrapping
arithmetic.
This was first checked in at r265913 but reverted in r265950 because it
exposed some issues around how SCEV handled post-inc add recurrences.
Those issues have now been fixed.
Reviewers: atrick, regehr
Subscribers: sanjoy, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D18685
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271153
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Sun, 29 May 2016 00:34:42 +0000 (00:34 +0000)]
[SCEV] See through op.with.overflow intrinsics (re-apply)
Summary:
This change teaches SCEV to see reduce `(extractvalue
0 (op.with.overflow X Y))` into `op X Y` (with a no-wrap tag if
possible).
This was first checked in at r265912 but reverted in r265950 because it
exposed some issues around how SCEV handled post-inc add recurrences.
Those issues have now been fixed.
Reviewers: atrick, regehr
Subscribers: mcrosier, mzolotukhin, llvm-commits
Differential Revision: http://reviews.llvm.org/D18684
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271152
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Sun, 29 May 2016 00:32:17 +0000 (00:32 +0000)]
[SCEV] Don't always add no-wrap flags to post-inc add recs
Fixes PR27315.
The post-inc version of an add recurrence needs to "follow the same
rules" as a normal add or subtract expression. Otherwise we miscompile
programs like
```
int main() {
int a = 0;
unsigned a_u = 0;
volatile long last_value;
do {
a_u += 3;
last_value = (long) ((int) a_u);
if (will_add_overflow(a, 3)) {
// Leave, and don't actually do the increment, so no UB.
printf("last_value = %ld\n", last_value);
exit(0);
}
a += 3;
} while (a != 46);
return 0;
}
```
This patch changes SCEV to put no-wrap flags on post-inc add recurrences
only when the poison from a potential overflow will go ahead to cause
undefined behavior.
To avoid regressing performance too much, I've assumed infinite loops
without side effects is undefined behavior to prove poison<->UB
equivalence in more cases. This isn't ideal, but is not new to LLVM as
a whole, and far better than the situation I'm trying to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271151
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Sun, 29 May 2016 00:31:18 +0000 (00:31 +0000)]
[ValueTracking] ICmp instructions propagate poison
This is a stripped down version of D19211, leaving out the questionable
"branching in poison is UB" bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271150
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Sun, 29 May 2016 00:31:15 +0000 (00:31 +0000)]
[PM] SCCP should preserve GlobalsAA even if the IR is mutated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271149
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 20:04:50 +0000 (20:04 +0000)]
[COFFDumper] Validate that the next offset is not too large
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271147
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 20:04:48 +0000 (20:04 +0000)]
[COFFDumper] Make sure there is sufficient padding left in the string table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271146
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 20:04:46 +0000 (20:04 +0000)]
[SymbolDumper] Validate the string table offset before using it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271145
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:45:58 +0000 (19:45 +0000)]
[COFFDumper] Make sure there is sufficient padding left in the checksum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271143
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:45:56 +0000 (19:45 +0000)]
[SymbolDumper] Validate the string table offset before using it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271142
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:45:54 +0000 (19:45 +0000)]
[CVSymbolVisitor] It's possible for an error to occur in begin()
If the begin iterator fails, we cannot dereference it's contents.
Instead, we must immediately stop processing symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271141
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:45:51 +0000 (19:45 +0000)]
[Object] Return an error code instead of asserting
This makes it easier to report errors up the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271140
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:45:49 +0000 (19:45 +0000)]
[llvm-readobj] Validate the string table offset before using it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271139
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:17:48 +0000 (19:17 +0000)]
Use consume instead of manually using drop_front
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271137
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 19:02:12 +0000 (19:02 +0000)]
Update test to deal with non-zero exit codes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271135
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 18:25:15 +0000 (18:25 +0000)]
llvm-pdbdump should have a non-zero exit code on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271132
91177308-0d34-0410-b5e6-
96231b3b80d8
Simon Pilgrim [Sat, 28 May 2016 18:03:41 +0000 (18:03 +0000)]
[X86][SSE] (Reapplied) Replace (V)PMOVSX and (V)PMOVZX integer extension intrinsics with generic IR (llvm)
This patch removes the llvm intrinsics VPMOVSX and (V)PMOVZX sign/zero extension intrinsics and auto-upgrades to SEXT/ZEXT calls instead. We already did this for SSE41 PMOVSX sometime ago so much of that implementation can be reused.
Reapplied now that the the companion patch (D20684) removes/auto-upgrade the clang intrinsics has been committed.
Differential Revision: http://reviews.llvm.org/D20686
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271131
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 18:03:37 +0000 (18:03 +0000)]
Tighten some of the name map checks further
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271130
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehdi Amini [Sat, 28 May 2016 17:26:03 +0000 (17:26 +0000)]
ValueMapper: fix assertion when null-mapping a constant for linking metadata
Summary:
When RF_NullMapMissingGlobalValues is set, mapValue can return null
for GlobalValue. When mapping the operands of a constant that is
referenced from metadata, we need to handle this case and actually
return null instead of mapping this constant.
Reviewers: dexonsmith, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D20713
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271129
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 28 May 2016 16:10:37 +0000 (16:10 +0000)]
[InstCombine] add tests to show bitcast interference
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271125
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 28 May 2016 15:51:38 +0000 (15:51 +0000)]
Fix production of R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX.
We were producing R_X86_64_GOTPCRELX for invalid instructions and
sometimes producing R_X86_64_GOTPCRELX instead of
R_X86_64_REX_GOTPCRELX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271118
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 28 May 2016 15:44:28 +0000 (15:44 +0000)]
regenerate checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271117
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 28 May 2016 15:34:05 +0000 (15:34 +0000)]
join RUN lines; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271115
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Sat, 28 May 2016 14:58:37 +0000 (14:58 +0000)]
[x86] avoid printing unnecessary sign bits of hex immediates in asm comments (PR20347)
It would be better to check the valid/expected size of the immediate operand, but this is
generally better than what we print right now.
Differential Revision: http://reviews.llvm.org/D20385
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271114
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Sat, 28 May 2016 14:38:04 +0000 (14:38 +0000)]
[X86] Try to zero elts when lowering 256-bit shuffle with PSHUFB.
Otherwise we fallback to a blend of PSHUFBs later on.
Differential Revision: http://reviews.llvm.org/D19661
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271113
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 28 May 2016 11:13:34 +0000 (11:13 +0000)]
Simplify and clang-format a table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271112
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 28 May 2016 10:41:15 +0000 (10:41 +0000)]
Fix default reloc model on ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271111
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Sat, 28 May 2016 08:20:08 +0000 (08:20 +0000)]
[MC] Return early when .fill size is negative
Rather than invoking emitFill with negative size, which may trigger
an undefined behavior, return immediately after emitting the warning.
Differential Revision: http://reviews.llvm.org/D20768
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271107
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 05:59:25 +0000 (05:59 +0000)]
Bounds check the number of bitmap blocks in the name map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271105
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 05:59:22 +0000 (05:59 +0000)]
An empty record cannot be null-terminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271104
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Sat, 28 May 2016 05:59:19 +0000 (05:59 +0000)]
Make sure the directory contains info for all streams
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271103
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Sat, 28 May 2016 05:57:48 +0000 (05:57 +0000)]
[MC] Support symbolic expressions in assembly directives
This matches the behavior of GNU assembler which supports symbolic
expressions in absolute expressions used in assembly directives.
Differential Revision: http://reviews.llvm.org/D20752
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271102
91177308-0d34-0410-b5e6-
96231b3b80d8
Zachary Turner [Sat, 28 May 2016 05:21:57 +0000 (05:21 +0000)]
[pdb] Finish conversion to zero copy pdb access.
This converts remaining uses of ByteStream, which was still
left in the symbol stream and type stream, to using the new
StreamInterface zero-copy classes.
RecordIterator is finally deleted, so this is the only way left
now. Additionally, more error checking is added when iterating
the various streams.
With this, the transition to zero copy pdb access is complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271101
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 28 May 2016 04:47:13 +0000 (04:47 +0000)]
Revert "Revert "Map DynamicNoPIC to Static on non-darwin.""
This reverts commit r271096, as reverting it broke even more buildbots!
But that also means I'll break on ARM again... :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271099
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 04:24:39 +0000 (04:24 +0000)]
Add a comment about why we need to buffer the attribute changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271097
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 28 May 2016 04:24:26 +0000 (04:24 +0000)]
Revert "Map DynamicNoPIC to Static on non-darwin."
This reverts commit r271052, as it broke some ARM buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271096
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Sat, 28 May 2016 04:19:46 +0000 (04:19 +0000)]
[libFuzzer] fix a failure that occurs when running individual inputs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271095
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 04:19:45 +0000 (04:19 +0000)]
Small cleanup.
Centralize assertion.
Clean up max loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271094
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 04:19:40 +0000 (04:19 +0000)]
Inline this into its only use. NFC.
The name was out of date at this point and it seems simple enough to
have in-line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271093
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 04:05:36 +0000 (04:05 +0000)]
Bring back r271090 in a way that doesn't depend on r271089.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271092
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 03:56:25 +0000 (03:56 +0000)]
Revert r271089 and r271090.
It was triggering an msan bot.
Revert "[IRPGO] Set the function entry count metadata."
This reverts commit r271090.
Revert "[IRPGO] Centralize the function attribute inliner hint logic. NFC."
This reverts commit r271089.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271091
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 03:02:54 +0000 (03:02 +0000)]
[IRPGO] Set the function entry count metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271090
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 03:02:50 +0000 (03:02 +0000)]
[IRPGO] Centralize the function attribute inliner hint logic. NFC.
This keeps the logic in the same function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271089
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Sat, 28 May 2016 02:02:51 +0000 (02:02 +0000)]
[Hexagon] Add option to enable subregister liveness tracking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271088
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Sat, 28 May 2016 01:51:16 +0000 (01:51 +0000)]
[Hexagon] Separate C8 and USR to avoid unwanted subregister composition
Composing subreg_loreg with subreg_oveflow leads to strange results with
lane masks for register classes with subreg_loreg. In particular, dead
lane detection generates incorrect code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271087
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Zolotukhin [Sat, 28 May 2016 01:40:14 +0000 (01:40 +0000)]
[LoopUnrollAnalyzer] Add a comment to visitCastInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271086
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthias Braun [Sat, 28 May 2016 01:06:51 +0000 (01:06 +0000)]
AArch64: Fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271084
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sat, 28 May 2016 01:03:36 +0000 (01:03 +0000)]
[docs] Be a bit more precise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271083
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Sat, 28 May 2016 00:51:06 +0000 (00:51 +0000)]
AMDGPU: Cleanup vector insert/extract tests
This mostly makes sure that 3-vector dynamic inserts
and extracts are covered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271082
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Sat, 28 May 2016 00:50:51 +0000 (00:50 +0000)]
AMDGPU: Fix trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271081
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Sat, 28 May 2016 00:19:52 +0000 (00:19 +0000)]
AMDGPU: Add fract intrinsic
Remove broken patterns matching it. This was matching the
unsafe math pattern and expanding the fix for the buggy instruction
from the pattern. The problems are also on CI. Remove the workarounds
and only use fract with unsafe math or from the intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271078
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeny Stupachenko [Sat, 28 May 2016 00:14:58 +0000 (00:14 +0000)]
The patch fixes r271071
Summary:
unused variables in Release mode:
BasicBlock *Header
unsigned OrigCount
put under DEBUG
From: Evgeny Stupachenko <evstupac@gmail.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271076
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Sat, 28 May 2016 00:03:35 +0000 (00:03 +0000)]
Fix windows build bot failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271075
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Fri, 27 May 2016 23:20:16 +0000 (23:20 +0000)]
[PM] Port the Sample FDO to new PM (part-2)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271072
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeny Stupachenko [Fri, 27 May 2016 23:15:06 +0000 (23:15 +0000)]
The patch refactors unroll pass.
Summary:
Unroll factor (Count) calculations moved to a new function.
Early exits on pragma and "-unroll-count" defined factor added.
New type of unrolling "Force" introduced (previously used implicitly).
New unroll preference "AllowRemainder" introduced and set "true" by default.
(should be set to false for architectures that suffers from it).
Reviewers: hfinkel, mzolotukhin, zzheng
Differential Revision: http://reviews.llvm.org/D19553
From: Evgeny Stupachenko <evstupac@gmail.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271071
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Fri, 27 May 2016 23:04:28 +0000 (23:04 +0000)]
Use C++ casts to avoid a warning
warning: cast from type ‘const void*’ to type
‘llvm::PrettyStackTraceEntry*’ casts away qualifiers [-Wcast-qual]
PrettyStackTraceHead = (PrettyStackTraceEntry*)Top;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271069
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Kaylor [Fri, 27 May 2016 22:56:49 +0000 (22:56 +0000)]
Update the stack coloring pass to remove lifetime intrinsics in the optnone/opt-bisect skip case.
Differential Revision: http://reviews.llvm.org/D20453
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271068
91177308-0d34-0410-b5e6-
96231b3b80d8
Vitaly Buka [Fri, 27 May 2016 22:55:10 +0000 (22:55 +0000)]
[asan] Add option to enable asan-use-after-scope from clang.
Clang will have -fsanitize-address-use-after-scope flag.
PR27453
Reviewers: kcc, eugenis, aizatsky
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D20750
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271067
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 27 May 2016 22:41:51 +0000 (22:41 +0000)]
Start using shouldAssumeDSOLocal on ARM.
Given where this is used it should be a nop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271066
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 27 May 2016 22:34:56 +0000 (22:34 +0000)]
[Kaleidoscope][BuildingAJIT] Add stub chapter text for Building A JIT Chapter 4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271064
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Fri, 27 May 2016 22:30:44 +0000 (22:30 +0000)]
[PM] Port the Sample FDO to new PM (part-1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271062
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 27 May 2016 22:21:12 +0000 (22:21 +0000)]
[Kaleidoscope][Orc] Remove the reference to the Orc directory that was removed
in r271059.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271061
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 27 May 2016 22:17:56 +0000 (22:17 +0000)]
[Kaleidoscope] Remove the old Kaleidoscope/ORC tutorial series.
This code has been superseded by the new Building A JIT series.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271059
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthias Braun [Fri, 27 May 2016 22:14:26 +0000 (22:14 +0000)]
MachineScheduler: Introduce ONLY1 reason to improve debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271058
91177308-0d34-0410-b5e6-
96231b3b80d8
Matthias Braun [Fri, 27 May 2016 22:14:09 +0000 (22:14 +0000)]
AArch64Subtarget: Use default member initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271057
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 22:07:50 +0000 (22:07 +0000)]
Don't discard errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271056
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 27 May 2016 21:50:13 +0000 (21:50 +0000)]
[Kaleidoscope][BuildingAJIT] Add code for chapter 4.
This chapter will cover lazy compilation directly from ASTs using the Compile
Callbacks and Indirect Stubs APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271054
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Fri, 27 May 2016 21:46:22 +0000 (21:46 +0000)]
[libFuzzer] use __sanitizer_set_report_fd with -close_fd_mask. This allows us to keep asan reports when closing target's stderr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271053
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 27 May 2016 21:44:18 +0000 (21:44 +0000)]
Map DynamicNoPIC to Static on non-darwin.
DynamicNoPIC was only every used on darwin. This maps it to static on
ELF. It matches what is done on X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271052
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjay Patel [Fri, 27 May 2016 21:41:29 +0000 (21:41 +0000)]
[InstCombine] move and/sext fold to helper function; NFCI
We need to enhance the pattern matching on these to look through bitcasts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271051
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 21:25:05 +0000 (21:25 +0000)]
Don't iterate endlessly if an error occurs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271048
91177308-0d34-0410-b5e6-
96231b3b80d8
Xinliang David Li [Fri, 27 May 2016 21:23:25 +0000 (21:23 +0000)]
FileCheck: dump command line context with empty input
Differential Revision: http://reviews.llvm.org/D20716
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271047
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Fri, 27 May 2016 21:15:34 +0000 (21:15 +0000)]
[Hexagon] Use standard macros to initialize HexagonExpandCondsets pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271045
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 27 May 2016 21:05:35 +0000 (21:05 +0000)]
Fix compilation with GCC, which treats this as a constructor name not a type
name. (GCC is correct here per the latest language DRs.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271044
91177308-0d34-0410-b5e6-
96231b3b80d8
Krzysztof Parzyszek [Fri, 27 May 2016 20:48:39 +0000 (20:48 +0000)]
[Hexagon] Do not create passes in the constructor of HexagonPassConfig
When running mir tests, a pass created in that constructor would not be
freed, leading to memory leaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271043
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 27 May 2016 20:25:31 +0000 (20:25 +0000)]
[LCSSA] Simplify. Suggested by Sanjoy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271041
91177308-0d34-0410-b5e6-
96231b3b80d8
Zachary Turner [Fri, 27 May 2016 20:17:33 +0000 (20:17 +0000)]
[pdb] Fix size check when reading stream bytes.
We were accidentally bounds checking the read against the output
ArrayRef instead of against the size of the read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271040
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 27 May 2016 20:04:16 +0000 (20:04 +0000)]
[Timer] Add missing slash in doxygen commit.
Pointed out by: Sean Silva.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271039
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Fri, 27 May 2016 19:58:05 +0000 (19:58 +0000)]
Revert "[MC] Support symbolic expressions in assembly directives"
This reverts commit r271028, it causes the directive_fill.s to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271038
91177308-0d34-0410-b5e6-
96231b3b80d8
Davide Italiano [Fri, 27 May 2016 19:12:26 +0000 (19:12 +0000)]
[Timer] Expose an API to check if the timer is running.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271037
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Fri, 27 May 2016 19:05:14 +0000 (19:05 +0000)]
SmallVector: Replace some pre-C++11 move helpers with standard algorithms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271036
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Fri, 27 May 2016 19:03:10 +0000 (19:03 +0000)]
[GVN] Preserve !range metadata when PRE'ing loads
Reviewers: dberlin, reames, george.burgess.iv
Subscribers: mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D20743
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271034
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Kuperstein [Fri, 27 May 2016 18:53:22 +0000 (18:53 +0000)]
[X86] Detect SAD patterns and emit psadbw instructions.
This recommits r267649 with a fix for PR27539.
Differential Revision: http://reviews.llvm.org/D20598
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271033
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 18:50:02 +0000 (18:50 +0000)]
Make sure data is available before dereferencing it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271032
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 18:50:00 +0000 (18:50 +0000)]
Avoid overflow when computing the size of an array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271031
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 18:49:58 +0000 (18:49 +0000)]
Don't assume that there will be enough padding bytes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271030
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Fri, 27 May 2016 18:49:51 +0000 (18:49 +0000)]
Don't assume that there will be another null byte
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271029
91177308-0d34-0410-b5e6-
96231b3b80d8
Petr Hosek [Fri, 27 May 2016 18:49:44 +0000 (18:49 +0000)]
[MC] Support symbolic expressions in assembly directives
This matches the behavior of GNU assembler which supports symbolic
expressions in absolute expressions used in assembly directives.
Differential Revision: http://reviews.llvm.org/D20656
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271028
91177308-0d34-0410-b5e6-
96231b3b80d8
Zachary Turner [Fri, 27 May 2016 18:47:20 +0000 (18:47 +0000)]
Resubmit "[pdb] Allow zero-copy read support for symbol streams.""
Due to differences in template instantiation rules, it is not
portable to static_assert(false) inside of an invalid specialization
of a template. Instead I just =delete the method so that it can't
be used, and leave a comment that it must be explicitly specialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271027
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 27 May 2016 18:31:02 +0000 (18:31 +0000)]
Revert "[pdb] Allow zero-copy read support for symbol streams."
This reverts commit r271024 due to error: static_assert failed
"You must either provide a specialization of VarStreamArrayExtractor
or a custom extractor"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271026
91177308-0d34-0410-b5e6-
96231b3b80d8
Zachary Turner [Fri, 27 May 2016 18:20:20 +0000 (18:20 +0000)]
[pdb] Allow zero-copy read support for symbol streams.
This reduces the amount of memory used by llvm-pdbdump by roughly
1/3 of the size of the PDB file.
Differential Revision: http://reviews.llvm.org/D20724
Reviewed By: ruiu
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271025
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Fri, 27 May 2016 17:58:17 +0000 (17:58 +0000)]
[X86] Clarify PSHUFB+blend lowering function name. NFC.
Also guard against v32i8 users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271024
91177308-0d34-0410-b5e6-
96231b3b80d8
Ahmed Bougacha [Fri, 27 May 2016 17:58:03 +0000 (17:58 +0000)]
[ARM] Remove tBLXr Pat made redundant by r269101. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271023
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 27 May 2016 17:38:16 +0000 (17:38 +0000)]
[ProfData] Remove global constructor from ProfileSummaryBuilder.
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271021
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Fri, 27 May 2016 17:06:50 +0000 (17:06 +0000)]
Don't generate unnecessary signed ConstantRange during multiply. NFC
r231483 taught ConstantRange::multiply to be clever about signed vs unsigned ranges. For example, an unsigned range could be full-set while the signed range is more specific than that.
In looking at the allocations trace for LTO'ing verify-uselistorder (see r236629 for details), millions of allocations are from APInt, many of which come from ConstantRange's.
This change tries to avoid some (3.2 million) allocations by returning the unsigned range if its suitable. The checks here are that it should not be a wrapping range, and should be positive. That should be enough to check for ranges such as [1, 10) which the signed range will be equal to, if we were to calculate it.
Differential Revision: http://reviews.llvm.org/D20723
Reviewed by James Molloy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271020
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Fri, 27 May 2016 16:56:54 +0000 (16:56 +0000)]
Move test to X86 directory: I think it depends on X86 TTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271019
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 27 May 2016 16:54:57 +0000 (16:54 +0000)]
Use StringRef::startswith instead of find(...) == 0.
It's faster and easier to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271018
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 27 May 2016 16:45:37 +0000 (16:45 +0000)]
[sparc] Simplify a slow and verbose way of checking if a string starts with "ld".
PR27904.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271016
91177308-0d34-0410-b5e6-
96231b3b80d8