| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This got lost in the previous patch somehow.
llvm-svn: 300226
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the new release of VS, it's required that all plugins migrate to
the new VSIX manifest format. The new format is backwards compatible
with all versions newer that Visual Studio 2012, so this migration
effectively drops support for older versions of the IDE.
It's also required that these new extensions are built with Visual
Studio 2017, so unfortunately it was necessary to migrate the project
and solution. Also removed COM references to EnvDTE and
Microsoft.VisualStudio.TextManager.Interop from the csproj, as they seem
to both be unnecessary and would trigger build warnings because of
changes to GAC.
Patch by Hugo Puhlmann!
Differential Revision: https://reviews.llvm.org/D31740
llvm-svn: 300225
|
| |
|
|
|
|
| |
No one uses them and I may improve the operator&, operator|, and operator^ to better reuse memory allocations like APInt.
llvm-svn: 300224
|
| |
|
|
|
|
|
| |
The regular file used to display very poorly in the VSIX installer due
to long lines, wrapping etc.
llvm-svn: 300223
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's less efficient to produce 'ule' than 'ult' since we know we're going to
canonicalize to 'ult', but we shouldn't have duplicated code for these folds.
As a trade-off, this was a pretty terrible way to make a '2'. :)
if (LHSC == SubOne(RHSC))
AddC = ConstantExpr::getSub(AddOne(RHSC), LHSC);
The next steps are to share the code to fix PR32524 and add the missing 'and'
fold that was left out when PR14708 was fixed:
https://bugs.llvm.org/show_bug.cgi?id=14708
llvm-svn: 300222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Lsan was using PTHREAD_CREATE_JOINABLE/PTHREAD_CREATE_DETACHED
as truthy values, which works on Linux, where the values are 0 and 1,
but this fails on OS X, where the values are 1 and 2.
Set PTHREAD_CREATE_DETACHED to the correct value for a given system.
Reviewers: kcc, glider, kubamracek, alekseyshl
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D31883
llvm-svn: 300221
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D31600
llvm-svn: 300220
|
| |
|
|
|
|
| |
operators. NFC
llvm-svn: 300219
|
| |
|
|
| |
llvm-svn: 300218
|
| |
|
|
|
|
|
|
| |
with APInt after r300171"
MSVC doesn't pack derived classes the same way clang/gcc do.
llvm-svn: 300217
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Allocator::ClassIdToSize() is not free and calling it in every
Allocate/Deallocate has noticeable impact on perf.
Reapplying D31991 with the appropriate fixes.
Reviewers: cryptoad
Subscribers: kubamracek, llvm-commits
Differential Revision: https://reviews.llvm.org/D32024
llvm-svn: 300216
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
* Add a bitreverse case in the demanded bits analysis pass.
* Add tests for the bitreverse (and bswap) intrinsic in the
demanded bits pass.
* Add a test case to the BDCE tests: that manipulations to
high-order bits are eliminated once the bits are reversed
and then right-shifted.
Reviewers: mkuper, jmolloy, hfinkel, trentxintong
Reviewed By: jmolloy
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D31857
llvm-svn: 300215
|
| |
|
|
|
|
| |
This fixes a warning. The test was passing without this change.
llvm-svn: 300214
|
| |
|
|
|
|
| |
after r300171.
llvm-svn: 300213
|
| |
|
|
| |
llvm-svn: 300212
|
| |
|
|
|
|
|
| |
This will allow unittesting of new functionality based on
Known and Written.
llvm-svn: 300211
|
| |
|
|
|
|
|
| |
This field will later contain a ValInst that is known to be stored
in an occupied array element.
llvm-svn: 300210
|
| |
|
|
|
|
|
|
|
|
| |
Adding RUN lines with %clang_cl was causing these tests to fail on Mac
because absolute paths there tend to start with "/User/", which is
recognized as the "/U" flag.
Re-lands r300122
llvm-svn: 300209
|
| |
|
|
|
|
| |
The map will later point to a ValInst that is written.
llvm-svn: 300208
|
| |
|
|
|
|
|
| |
Some debuggers get confused by different class of the same name
defined independently in different translation units.
llvm-svn: 300207
|
| |
|
|
|
|
|
| |
DLLs on Windows are treated as runtime targets. Explicitly set the
output directory for them, to be consistent with other platforms.
llvm-svn: 300206
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The linker needs to be able to determine whether a symbol is text or data to
handle the case of a common being overridden by a strong definition in an
archive. If the archive contains a text member of the same name as the common,
that function is discarded. However, if the archive contains a data member of
the same name, that strong definition overrides the common. This is a behavior
of ld.bfd, which the Qualcomm linker also supports in LTO.
Here's a test case to illustrate:
####
cat > 1.c << \!
int blah;
!
cat > 2.c << \!
int blah() {
return 0;
}
!
cat > 3.c << \!
int blah = 20;
!
clang -c 1.c
clang -c 2.c
clang -c 3.c
ar cr lib.a 2.o 3.o
ld 1.o lib.a -t
####
The correct output is:
1.o
(lib.a)3.o
Thanks to Shankar Easwaran and Hemant Kulkarni for the test case!
Reviewers: mehdi_amini, rafael, pcc, davide
Reviewed By: pcc
Subscribers: davide, llvm-commits, inglorion
Differential Revision: https://reviews.llvm.org/D31901
llvm-svn: 300205
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
With D31555 commited, looks like basic LSan functionality
works on PPC64. Time to enable LSan there.
Reviewers: eugenis
Subscribers: nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D31995
llvm-svn: 300204
|
| |
|
|
|
|
|
| |
r300198 fixed a problem that caused two tests to be xfailed. Unxfail
these tests now, since they are passing.
llvm-svn: 300203
|
| |
|
|
| |
llvm-svn: 300202
|
| |
|
|
|
|
|
| |
If we had these tests, the bug caused by https://reviews.llvm.org/rL299851 would have been caught sooner.
There's also an assert in the code that should have caught that bug, but the assert line itself has a bug.
llvm-svn: 300201
|
| |
|
|
|
|
| |
This reverts commit r296872 now that PR32153 has been fixed.
llvm-svn: 300200
|
| |
|
|
|
|
|
|
| |
Patch by Michael Wu.
Differential Revision: https://reviews.llvm.org/D32000
llvm-svn: 300199
|
| |
|
|
|
|
|
|
|
|
| |
assertion
Patch by Michael Wu.
Differential Revision: https://reviews.llvm.org/D31999
llvm-svn: 300198
|
| |
|
|
| |
llvm-svn: 300197
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Instructions CALLSEQ_START..CALLSEQ_END and their target dependent
counterparts keep data like frame size, stack adjustment etc. These
data are accessed by getOperand using hard coded indices. It is
error prone way. This change implements the access by special methods,
which improve readability and allow changing data representation without
massive changes of index values.
Differential Revision: https://reviews.llvm.org/D31953
llvm-svn: 300196
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The darwin interceptor for malloc_destroy_zone manually frees the
zone struct, but does not free the name component. Make sure to
free the name if it has been set.
Reviewers: kubamracek, alekseyshl
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D31983
llvm-svn: 300195
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses pr32636. Enable lsan tests on ARM bots filtering out Thumb targets.
Tested locally on ARM Arndale board in two configurations:
1) CFLAGS="-march=armv7-a"
Testing Time: 37.57s
Expected Passes : 69
Unsupported Tests : 7
2) CFLAGS="-march=armv7-a -mthumb"
Testing Time: 0.16s
Unsupported Tests : 76
Differential Revision: https://reviews.llvm.org/D32007
llvm-svn: 300194
|
| |
|
|
|
|
| |
mis-escaped.
llvm-svn: 300193
|
| |
|
|
|
|
|
|
|
| |
Replace addModuleReloc with AddTlsReloc so that we can use it for both the
module relocation and the offset relocation.
Differential Revision: https://reviews.llvm.org/D31751
llvm-svn: 300192
|
| |
|
|
| |
llvm-svn: 300191
|
| |
|
|
|
|
|
|
|
| |
Throughout the effort of automatically generating the X86 memory folding tables these missing information were encountered.
This is a preparation work for a future patch including the automation of these tables.
Differential Revision: https://reviews.llvm.org/D31714
llvm-svn: 300190
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We now check the type of the super-region pointer for most SubRegion classes
in compile time; some checks are run-time though.
This is an API-breaking change (we now require explicit casts to specific region
sub-classes), but in practice very few checkers are affected.
Differential Revision: https://reviews.llvm.org/D26838
llvm-svn: 300189
|
| |
|
|
|
|
| |
This addresses post commit review comments for r300039.
llvm-svn: 300188
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up vtable anchors (remove anchors for regions that have regular
out-of-line virtual methods, add anchors for regions that don't have those).
Fix private/public methods (all constructors should now be private for leaf
classes, protected for abstract classes).
No functional change intended, only extra sanity checks and cleanups.
Differential Revision: https://reviews.llvm.org/D26837
llvm-svn: 300187
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
failures. NFC
Reviewers: ab, t.p.northover, qcolombet, aditya_nandakumar, rovka
Reviewed By: ab
Subscribers: dberris, kristof.beyls, igorb, llvm-commits
Differential Revision: https://reviews.llvm.org/D31325
llvm-svn: 300186
|
| |
|
|
|
|
| |
mistake).
llvm-svn: 300185
|
| |
|
|
|
|
|
|
| |
convention. NFC
Differential Revision: https://reviews.llvm.org/D31743
llvm-svn: 300184
|
| |
|
|
|
|
|
|
|
|
|
| |
Refactoring InnerLoopVectorizer's vectorizeBlockInLoop() to provide
vectorizeInstruction(). Aligning DeadInstructions with its only user.
Facilitates driving the transformation by VPlan - follows
https://reviews.llvm.org/D28975 and its tentative breakdown.
Differential Revision: https://reviews.llvm.org/D31997
llvm-svn: 300183
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ARM Exception Index Table sections .ARM.exidx have an implicit dependency
on code sections via SHF_LINK_ORDER. When code sections are folded by ICF
we must mark the unique .ARM.exidx table that describes it as not live
to prevent an illegal entry in the exception table.
Note that we do not try and follow the relocations from the .ARM.exidx
section to the .ARM.extab sections to mark these as not live. Leaving
these sections is not a correctness problem. In theory these could be
removed via an application of garbage collection.
Fixes https://bugs.llvm.org/show_bug.cgi?id=32614
Differential Revision: https://reviews.llvm.org/D31932
llvm-svn: 300182
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 47979b20b475664013d19382fc6875b5b9f3ed9d.
This was causing a couple of bots to fail.
http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152
llvm-svn: 300181
|
| |
|
|
|
|
|
| |
This reverts commit r300107 because it broke the ARM and AArch64
buildbots.
llvm-svn: 300180
|
| |
|
|
| |
llvm-svn: 300179
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SValBuilder tries to constant-fold symbols in the left-hand side of the symbolic
expression whenever it fails to evaluate the expression directly. However, it
only constant-folds them when they are atomic expressions, not when they are
complicated expressions themselves. This patch adds recursive constant-folding
to the left-hand side subexpression (there's a lack of symmetry because we're
trying to have symbols on the left and constants on the right). As an example,
we'd now be able to handle operations similar to "$x + 1 < $y", when $x is
constrained to a constant.
rdar://problem/31354676
Differential Revision: https://reviews.llvm.org/D31886
llvm-svn: 300178
|
| |
|
|
|
|
| |
bot failures.
llvm-svn: 300177
|