| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Summary: The second check failed, the initializer wasn't renamed.
Reviewers: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D19957
llvm-svn: 268857
|
|
|
|
|
|
| |
closing. Use raw_string_ostream::str() to flush the buffer.
llvm-svn: 268856
|
|
|
|
|
|
|
|
|
| |
Min/max expressions are easier to read and can in some cases also result in
more concise IR that is generated as the min/max --- when lowered to a
cmp+select pattern -- commonly has a simpler condition then the ternary
condition isl would normally generate.
llvm-svn: 268855
|
|
|
|
| |
llvm-svn: 268854
|
|
|
|
|
|
| |
This update fixes an assertion in the isl scheduler.
llvm-svn: 268853
|
|
|
|
| |
llvm-svn: 268852
|
|
|
|
| |
llvm-svn: 268851
|
|
|
|
| |
llvm-svn: 268850
|
|
|
|
|
|
|
|
|
| |
deleting it.
Fix MSAN build.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 268849
|
|
|
|
|
|
| |
[-Wunused-function]
llvm-svn: 268848
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the code that handles stripping debug info intrinsic from
StripDebugInfo(Module) to StripDebugInfo(Function). The latter is
already walking every instructions so it makes sense to do it at the
same time.
This makes also stripDebugInfo(Function) as an API more useful: it
is really dropping every debug info in the Function.
Finally the existing code is trigerring an assertion when the Module
is not fully materialized.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 268847
|
|
|
|
| |
llvm-svn: 268846
|
|
|
|
|
|
|
|
| |
This enables lazy JITing on Windows x86-64.
Patch by David. Thanks David!
llvm-svn: 268845
|
|
|
|
| |
llvm-svn: 268844
|
|
|
|
| |
llvm-svn: 268843
|
|
|
|
| |
llvm-svn: 268842
|
|
|
|
| |
llvm-svn: 268841
|
|
|
|
|
|
|
|
| |
With this patch, value data are longer pre-collected
before writing. The code is simplified and requires
less heap space for dumping.
llvm-svn: 268840
|
|
|
|
| |
llvm-svn: 268839
|
|
|
|
| |
llvm-svn: 268838
|
|
|
|
|
|
| |
It breaks many bots
llvm-svn: 268837
|
|
|
|
|
|
| |
There is no need to match the comparison instruction repeatedly.
llvm-svn: 268836
|
|
|
|
| |
llvm-svn: 268835
|
|
|
|
| |
llvm-svn: 268834
|
|
|
|
|
|
|
| |
16802==WARNING: MemorySanitizer: use-of-uninitialized-value
lib/Target/ARM/ARMFrameLowering.cpp:1632
llvm-svn: 268833
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the code that handles stripping debug info intrinsic from
StripDebugInfo(Module) to StripDebugInfo(Function). The latter is
already walking every instructions so it makes sense to do it at the
same time.
This makes also stripDebugInfo(Function) as an API more useful: it
is really dropping every debug info in the Function.
Finally the existing code is trigerring an assertion when the Module
is not fully materialized.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 268832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This re-applies r268760, reverted in r268794.
Fixes http://llvm.org/PR27670
The original imp-defs assertion was way overzealous: forward all
implicit operands, except imp-defs of the new super-reg def (r268787
for GR64, but also possible for GR16->GR32), or imp-uses of the new
super-reg use.
While there, mark the source use as Undef, and add an imp-use of the
old source reg: that should cover any case of dead super-regs.
At the stage the pass runs, flags are unlikely to matter anyway;
still, let's be as correct as possible.
Also add MIR tests for the various interesting cases.
Original commit message:
Codesize is less (16) or equal (8), and we avoid partial
dependencies.
Differential Revision: http://reviews.llvm.org/D19999
llvm-svn: 268831
|
|
|
|
|
|
| |
That lets us use it in MIR tests.
llvm-svn: 268830
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: mclow.lists, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20007
llvm-svn: 268829
|
|
|
|
|
|
|
|
| |
The IsValid calls can try to reconstruct the thread & frame, which can
take various internal locks. This can cause A/B locking issues with
the Target lock, so these calls need to that the Target lock.
llvm-svn: 268828
|
|
|
|
|
|
|
| |
Greg says he doesn't need these asserts anymore and since they cause occasional test suite
crashes, out they go.
llvm-svn: 268827
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces following:
* TCI_* and TCD_* macros for incrementation and decrementation
* Fix for invalid use of TCR_8 in one expression
Differential Revision: http://reviews.llvm.org/D19880
llvm-svn: 268826
|
|
|
|
|
|
|
|
|
|
| |
When running reproducer scripts we need that original symlinks from the
source filesystem are reproduced in the VFS so that different virtual
paths can map to the same file, allowing the FileManager to share the
same UID between these virtual entries. This avoids all sorts of module
redefinition errors when using frameworks.
llvm-svn: 268825
|
|
|
|
| |
llvm-svn: 268824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
through line 0 code".
That's good 'cause it means all the different kinds of source line stepping won't leave user in the middle of
compiler implementation code or code inlined from odd places, etc. But it turns out that the compiler
also marks functions it MIGHT inline as all being of line 0. That would mean we single step through this code
instead of just stepping out. That is both inefficient, and more error prone 'cause these little nuggets tend
to be bits of hand-written assembly and the like and are hard to step through.
This change just checks and if the entire function is marked with line 0, we step out rather than step through.
<rdar://problem/25966460>
llvm-svn: 268823
|
|
|
|
| |
llvm-svn: 268822
|
|
|
|
|
|
| |
the OOM reproducer.
llvm-svn: 268821
|
|
|
|
|
|
| |
Useful when debugging issues within the VFS overlay.
llvm-svn: 268820
|
|
|
|
|
|
|
|
| |
Use a StringRef instead of a FileEntry in the moduleMapAddHeader
callback to allow more flexibility on what to collect on further
patches. This changes the interface I introduced in r264971.
llvm-svn: 268819
|
|
|
|
|
|
|
|
|
| |
The value-data line is <PGOFuncName>:<Count_Value>. PGOFuncName might contain
':' for the internal linkage functions. We therefore need to use rsplit,
rather split, to extract the data from the line. This fixes the error when
merging a text profile file to an indexed profile file.
llvm-svn: 268818
|
|
|
|
|
|
|
|
|
|
| |
object in C. Rather than using the DeclContext (which is very slow because it
triggers us to build a lookup table for the DeclContext), use a separate map
from identifiers to decls for this case, containing only the ones we've
actually deserialized. For convenience, this map is implemented as an
IdentifierResolver.
llvm-svn: 268817
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bitcode upgrade I added for DISubprogram in r266446 was based on the
assumption that the CU node for the subprogram was already materialized by the
time the DISubprogram is visited. This assumption may not hold true as future
versions of LLVM may decide to write out bitcode in a different order. This
patch corrects this by introducing a versioning bit next to the distinct flag to
unambiguously differentiate the new from the old record layouts.
Note for people stabilizing LLVM out-of-tree: This patch introduces a bitcode
incompatibility with llvm trunk revisions from r266446 — this commit. (But
D19987 will ensure that it degrades gracefully).
http://reviews.llvm.org/D20004
rdar://problem/26074194
llvm-svn: 268816
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case of COPY-like instruction we may be able to deduce that a certain
input is unused, based on the used lanes of the register defined by the
instruction.
This even works accross otherwise incompatible copies (no need to have
compatible lanemasks, completely unused operands are still completely
unused). It even makes sense to redo the analysis in this case since we
gained information for a case we previously stopped at because of the
incompatible masks.
llvm-svn: 268815
|
|
|
|
| |
llvm-svn: 268814
|
|
|
|
| |
llvm-svn: 268813
|
|
|
|
| |
llvm-svn: 268812
|
|
|
|
|
|
| |
Added 256-bit vector test as well
llvm-svn: 268811
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(this is resubmit of r268529 with minor refactoring. r268529 was reverted
at r268536 due a memory sanitizer failure. I have not been able to
reproduce that failure and I checked all the variable used in my change
but I could not spot an issue. I did some refactoring and see if it will
give a clearer hint)
Summary:
Currently, when checking if a stack is "BigStack" or not, it doesn't count into spills and arguments. Therefore, LLVM won't reserve spill slot for this actually "BigStack". This may cause scavenger failure.
Reviewers: rengolin
Subscribers: vitalybuka, aemerson, rengolin, tberghammer, danalbert, srhines, llvm-commits
Differential Revision: http://reviews.llvm.org/D19896
llvm-svn: 268810
|
|
|
|
|
|
|
|
|
|
|
| |
Original Commit Message
Extend load/store type canonicalization to handle unordered operations
Extend the type canonicalization logic to work for unordered atomic loads and stores. Note that while this change itself is fairly simple and low risk, there's a reasonable chance this will expose problems in the backends by suddenly generating IR they wouldn't have seen before. Anything of this nature will be an existing bug in the backend (you could write an atomic float load), but this will definitely change the frequency with which such cases are encountered. If you see problems, feel free to revert this change, but please make sure you collect a test case.
Note that the concern about lowering is now much less likely. PR27490 proved that we already *were* mucking with the types of ordered atomics and volatiles. As a result, this change doesn't introduce as much new behavior as originally thought.
llvm-svn: 268809
|
|
|
|
|
|
|
|
|
|
| |
This reuses the CVTypeDumper from libcodeview to dump full
information about type records within a PDB file.
Differential Revision: http://reviews.llvm.org/D20022
Reviewed By: rnk
llvm-svn: 268808
|