Samuel Benzaquen [Fri, 25 Mar 2016 16:29:30 +0000 (16:29 +0000)]
[ASTMatchers] Add own version of VariadicFunction.
Summary:
llvm::VariadicFunction is only being used by ASTMatchers.
Having our own copy here allows us to remove the other one from llvm/ADT.
Also, we can extend the API to meet our needs without modifying the common
implementation.
Reviewers: alexfh
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D18275
llvm-svn: 264417
Mehdi Amini [Fri, 25 Mar 2016 16:09:34 +0000 (16:09 +0000)]
Ensure that the StringMap does not grow during the test for pre-allocation/reserve
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264416
Hemant Kulkarni [Fri, 25 Mar 2016 16:04:48 +0000 (16:04 +0000)]
[llvm-readobj] Impl GNU style program headers print
readelf -lW
Differential Revision: http://reviews.llvm.org/D18372
llvm-svn: 264415
Jun Bum Lim [Fri, 25 Mar 2016 16:04:43 +0000 (16:04 +0000)]
[SetVector] Add erase() method
Summary:
Add erase() which returns an iterator pointing to the next element after the
erased one. This makes it possible to erase selected elements while iterating
over the SetVector :
while (I != E)
if (test(*I))
I = SetVector.erase(I);
else
++I;
Reviewers: qcolombet, mcrosier, MatzeB, dblaikie
Subscribers: dberlin, dblaikie, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D18281
llvm-svn: 264414
JF Bastien [Fri, 25 Mar 2016 15:48:21 +0000 (15:48 +0000)]
Implement is_always_lock_free
Summary:
This was voted into C++17 at the Jacksonville meeting. The final P0152R1
paper will be in the upcoming post-Jacksonville mailing, and is also
available here:
http://jfbastien.github.io/papers/P0152R1.html
Reviewers: mclow.lists, rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D17951
llvm-svn: 264413
Mehdi Amini [Fri, 25 Mar 2016 15:46:14 +0000 (15:46 +0000)]
Disable counting the number of move in the unittest, it seems to rely on move-construction elision
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264412
Jonas Paulsson [Fri, 25 Mar 2016 15:42:30 +0000 (15:42 +0000)]
[SystemZ] Remove isBranch and isTerminator flags on BRCT and BRCTG.
The BranchUnaryRI instruction class already sets these flags.
Reviewed by Ulrich Weigand.
llvm-svn: 264411
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 15:22:27 +0000 (15:22 +0000)]
Revert "Bitcode: Collect all MDString records into a single blob"
This reverts commit r264409 since it failed to bootstrap:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/8302/
llvm-svn: 264410
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 14:40:18 +0000 (14:40 +0000)]
Bitcode: Collect all MDString records into a single blob
Optimize output of MDStrings in bitcode. This emits them in big blocks
(currently 1024) in a pair of records:
- BULK_STRING_SIZES: the sizes of the strings in the block, and
- BULK_STRING_DATA: a single blob, which is the concatenation of all
the strings.
Inspired by Mehdi's similar patch, http://reviews.llvm.org/D18342, this
should (a) slightly reduce bitcode size, since there is less record
overhead, and (b) greatly improve reading speed, since blobs are super
cheap to deserialize.
I needed to add support for blobs to streaming input to get the test
suite passing.
- StreamingMemoryObject::getPointer reads ahead and returns the
address of the blob.
- To avoid a possible reallocation of StreamingMemoryObject::Bytes,
BitstreamCursor::readRecord needs to move the call to JumpToEnd
forward so that getPointer is the last bitstream operation.
llvm-svn: 264409
Chad Rosier [Fri, 25 Mar 2016 14:37:43 +0000 (14:37 +0000)]
[AArch64] Fix typo. NFC.
llvm-svn: 264408
David L Kreitzer [Fri, 25 Mar 2016 14:24:52 +0000 (14:24 +0000)]
Enable non-power-of-2 #pragma unroll counts.
Patch by Evgeny Stupachenko.
Differential Revision: http://reviews.llvm.org/D18202
llvm-svn: 264407
Tobias Grosser [Fri, 25 Mar 2016 14:22:53 +0000 (14:22 +0000)]
docs: Clearify that our release note describe the upcoming release of Polly
llvm-svn: 264406
Tobias Grosser [Fri, 25 Mar 2016 14:19:34 +0000 (14:19 +0000)]
www: Directly link to our new SPHINX documentation
llvm-svn: 264405
Tobias Grosser [Fri, 25 Mar 2016 14:18:42 +0000 (14:18 +0000)]
docs: Add links to the old documentation
llvm-svn: 264404
Simon Pilgrim [Fri, 25 Mar 2016 14:17:54 +0000 (14:17 +0000)]
[X86][SSE] Don't duplicate Lower256IntArith functionality in LowerShift. NFC.
LowerShift was using the same code as Lower256IntArith to split 256-bit vectors into 2 x 128-bit vectors, so now we just call Lower256IntArith.
llvm-svn: 264403
Tobias Grosser [Fri, 25 Mar 2016 14:09:40 +0000 (14:09 +0000)]
Center picture
llvm-svn: 264402
George Rimar [Fri, 25 Mar 2016 13:57:20 +0000 (13:57 +0000)]
Trailing whitespaces removed. NFC.
llvm-svn: 264401
Tobias Grosser [Fri, 25 Mar 2016 13:44:30 +0000 (13:44 +0000)]
docs: Add architecture diagram
llvm-svn: 264400
Tobias Grosser [Fri, 25 Mar 2016 13:09:36 +0000 (13:09 +0000)]
www: Reference doxygen documentation directly from the menu
llvm-svn: 264399
Tobias Grosser [Fri, 25 Mar 2016 13:04:19 +0000 (13:04 +0000)]
www; Drop memory access documentation
This is an old google summer of code project that has been replaced completely
by our new AST generator.
llvm-svn: 264398
Tobias Grosser [Fri, 25 Mar 2016 12:16:17 +0000 (12:16 +0000)]
cmake: Ensure tools/* is still formatted
This got accidentally dropped in r264283.
Also, drop the wwwfiles from the removal list. This is not needed any more as
we now explicitly list the directories that should be formatted.
llvm-svn: 264397
Tobias Grosser [Fri, 25 Mar 2016 12:11:06 +0000 (12:11 +0000)]
CodegenCleanup: Drop -load-combine pass
This pass is not enabled in the default tool chain and currently can run into an
infinite loop, due to other parts of LLVM generating incorrect IR
(http://llvm.org/PR27065) -- which is not executed and consequently does not
seem to disturb other passes. As this pass is not really needed, we can just
drop it to get our build clean.
This fixes the timeout issues in MultiSource/Benchmarks/MiBench/consumer-jpeg
and MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg for
-polly-position=before-vectorizer -polly-process-unprofitable.. Unfortunately,
we are still left with a miscompile in cjpeg.
llvm-svn: 264396
Elena Demikhovsky [Fri, 25 Mar 2016 10:08:36 +0000 (10:08 +0000)]
fixed typo
llvm-svn: 264395
Mehdi Amini [Fri, 25 Mar 2016 07:40:52 +0000 (07:40 +0000)]
Fix windows build for sys::fs:file_status Access Time added in r264392
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264393
Mehdi Amini [Fri, 25 Mar 2016 07:30:21 +0000 (07:30 +0000)]
Add lastAccessedTime to file_status
Differential Revision: http://reviews.llvm.org/D18456
This is a re-commit of r264387 and r264388 after fixing a typo.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264392
Mehdi Amini [Fri, 25 Mar 2016 07:11:31 +0000 (07:11 +0000)]
Fix perfect forwarding for StringMap
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264391
Mehdi Amini [Fri, 25 Mar 2016 06:51:43 +0000 (06:51 +0000)]
Revert "Add lastAccessedTime to file_status"
This reverts commit r264387.
Bots are broken in various ways, I need to take one commit at a time...
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264390
Mehdi Amini [Fri, 25 Mar 2016 06:43:22 +0000 (06:43 +0000)]
Revert "Fix windows build for sys::fs:file_status Access Time added in r264387"
This reverts commit r264388.
Bots are broken in various ways, I need to take one commit at a time...
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264389
Mehdi Amini [Fri, 25 Mar 2016 06:06:44 +0000 (06:06 +0000)]
Fix windows build for sys::fs:file_status Access Time added in r264387
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264388
Mehdi Amini [Fri, 25 Mar 2016 05:58:11 +0000 (05:58 +0000)]
Add lastAccessedTime to file_status
Reviewers: silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18456
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264387
Mehdi Amini [Fri, 25 Mar 2016 05:58:04 +0000 (05:58 +0000)]
Query the StringMap only once when creating MDString (NFC)
Summary:
Loading IR with debug info improves MDString::get() from 19ms to 10ms.
This is a rework of D16597 with adding an "emplace" method on the StringMap
to avoid requiring the MDString move ctor to be public.
Reviewers: dexonsmith
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D17920
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264386
Mehdi Amini [Fri, 25 Mar 2016 05:57:57 +0000 (05:57 +0000)]
Adjust initial size in StringMap constructor to guarantee no grow()
Summary:
StringMap ctor accepts an initialize size, but expect it to be
rounded to the next power of 2. The ctor can handle that directly
instead of expecting clients to round it. Also, since the map will
resize itself when 75% full, take this into account an initialize
a larger initial size to avoid any growth.
Reviewers: dblaikie
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18344
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264385
Mehdi Amini [Fri, 25 Mar 2016 05:57:52 +0000 (05:57 +0000)]
Fix DenseMap::reserve(): the formula was wrong
Summary:
Just running the loop in the unittests for a few more iterations
(till 48) exhibit that the condition on the limit was not handled
properly in r263522.
Rewrite the test to use a class to count move/copies that happens
when inserting into the map.
Also take the opportunity to refactor the logic to compute the
number of buckets required for a given number of entries in the map.
Use this when constructing a DenseMap with a desired size given to
the constructor (and add a tests for this).
Reviewers: dblaikie
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18345
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264384
Mehdi Amini [Fri, 25 Mar 2016 05:57:47 +0000 (05:57 +0000)]
StringMap: reserve appropriate size when initializing from an initializer list
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264383
Mehdi Amini [Fri, 25 Mar 2016 05:57:41 +0000 (05:57 +0000)]
Add GUID/getGlobalIdentifier() non-static API to global value
Summary:
These are just helpers calling their static counter part to
simplify client code.
Reviewers: tejohnson
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18339
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 264382
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 02:20:28 +0000 (02:20 +0000)]
Bitcode: Use std::stable_partition for reproducible builds
Caught by inspection while working on partitioning metadata. It's nice
to produce the same bitcode if you run the compiler twice.
llvm-svn: 264381
Jason Molenda [Fri, 25 Mar 2016 02:17:27 +0000 (02:17 +0000)]
Add the same host logging that I added to PlatformRemoteiOS a few
months back to PlatformRemoteAppleTV and PlatformRemoteAppleWatch
to help understand what's happening when lldb can't find binaries
that it should be finding.
llvm-svn: 264380
Jim Ingham [Fri, 25 Mar 2016 01:57:14 +0000 (01:57 +0000)]
Use Clang's FixItHints to correct expressions with "trivial" mistakes (e.g. "." for "->".)
This feature is controlled by an expression command option, a target property and the
SBExpressionOptions setting. FixIt's are only applied to UserExpressions, not UtilityFunctions,
those you have to get right when you make them.
This is just a first stage. At present the fixits are applied silently. The next step
is to tell the user about the applied fixit.
<rdar://problem/
25351938>
llvm-svn: 264379
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 01:29:50 +0000 (01:29 +0000)]
Bitcode: Stop using MODULE_CODE_METADATA_VALUES
The motivation for MODULE_CODE_METADATA_VALUES was to enable an
-flto=thin scheme where:
1. First, one function is cherry-picked from a bitcode file.
2. Later, another function is cherry-picked.
3. Later, ...
4. Finally, the metadata needed by all the previous functions is
loaded.
This was abandoned in favour of:
1. Calculate the superset of functions needed from a Module.
2. Link all functions at once.
Delayed metadata reading no longer serves a purpose. It also adds
a few complication, since we can't count on metadata being properly
parsed when exiting the BitcodeReader. After discussing with Teresa, we
agreed to remove it.
The code that depended on this was removed/updated in r264326.
llvm-svn: 264378
Richard Smith [Fri, 25 Mar 2016 01:17:43 +0000 (01:17 +0000)]
[modules] Store a local offset to DeclContext lexical and visible contents. Saves a few bytes for each primary DeclContext.
llvm-svn: 264377
Matt Arsenault [Fri, 25 Mar 2016 01:16:40 +0000 (01:16 +0000)]
AMDGPU: Cost model for basic integer operations
This resolves bug 21148 by preventing promotion to
i64 induction variables.
llvm-svn: 264376
Hans Wennborg [Fri, 25 Mar 2016 01:10:56 +0000 (01:10 +0000)]
X86: Use push-pop for materializing 8-bit immediates for minsize (take 2)
This is the same as r255936, with added logic for avoiding clobbering of the
red zone (PR26023).
Differential Revision: http://reviews.llvm.org/D18246
llvm-svn: 264375
Matt Arsenault [Fri, 25 Mar 2016 01:00:32 +0000 (01:00 +0000)]
AMDGPU: Partially implement getArithmeticInstrCost for FP ops
llvm-svn: 264374
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 00:56:13 +0000 (00:56 +0000)]
IR: Stop upgrading !llvm.loop attachments via MDString
Remove logic to upgrade !llvm.loop by changing the MDString tag
directly. This old logic would check (and change) arbitrary strings
that had nothing to do with loop metadata. Instead, check !llvm.loop
attachments directly, and change which strings get attached.
Rather than updating the assembly-based upgrade, drop it entirely. It
has been quite a while since we supported upgrading textual IR.
llvm-svn: 264373
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 00:38:14 +0000 (00:38 +0000)]
CGLoopInfo: Use the MD_loop metadata kind from r264371, NFC
Besides a small compile-time speedup, there should be no real
functionality change here.
llvm-svn: 264372
Duncan P. N. Exon Smith [Fri, 25 Mar 2016 00:35:38 +0000 (00:35 +0000)]
IR: Reserve an MDKind for !llvm.loop; NFC
This reserves an MDKind for !llvm.loop, which allows callers to avoid a
string-based lookup. I'm not sure why it was missing.
There should be no functionality change here, just a small compile-time
speedup.
llvm-svn: 264371
Saleem Abdulrasool [Fri, 25 Mar 2016 00:34:11 +0000 (00:34 +0000)]
ARM: fix optimised division on WoA
We did not have an explicit branch to the continuation BB. When the check was
hoisted, this could permit control follow to fall through into the division
trap. Add the explicit branch to the continuation basic block to ensure that
code execution is correct.
llvm-svn: 264370
Matt Arsenault [Fri, 25 Mar 2016 00:26:29 +0000 (00:26 +0000)]
TTI: Report 0 cost for free addrspacecasts
llvm-svn: 264369
Matt Arsenault [Fri, 25 Mar 2016 00:26:22 +0000 (00:26 +0000)]
TTI: Use 0 for cost of fabs if free
Ideally this would also happen for fneg, but that
isn't a distinct operation in the IR.
llvm-svn: 264368
NAKAMURA Takumi [Fri, 25 Mar 2016 00:24:35 +0000 (00:24 +0000)]
3rd attempt of fixup with -std=c++11
llvm-svn: 264367
Adrian Prantl [Fri, 25 Mar 2016 00:20:35 +0000 (00:20 +0000)]
Debug Info: Add a testcase for the bug introduced by r259975.
In r259975 we rauw'ed the scope of enum declarations without taking into
account that DIBuilder strips out scope references that point to the
DICompileUnit to facilitate type uniquing.
This testcase guards against making the same mistake again.
<rdar://problem/
25078246>
llvm-svn: 264366
NAKAMURA Takumi [Fri, 25 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Fixup -- "-target x86_64-unknown -fno-ms-compatibility" didn't work as expected.
llvm-svn: 264365
Matt Arsenault [Fri, 25 Mar 2016 00:14:11 +0000 (00:14 +0000)]
AMDGPU: TTI: Make insertelement free.
We don't want to have a cost to scalarizing operations.
llvm-svn: 264364
Richard Smith [Fri, 25 Mar 2016 00:08:53 +0000 (00:08 +0000)]
Fix nondeterminism in computation of builtin operator overload sets.
llvm-svn: 264363
NAKAMURA Takumi [Fri, 25 Mar 2016 00:05:33 +0000 (00:05 +0000)]
clang-tools-extra/test/clang-tidy/readability-redundant-string-cstr.cpp: Appease MS targets with -fno-ms-compatibility.
FIXME: Add a test with -fms-compatibility.
llvm-svn: 264362
Greg Clayton [Thu, 24 Mar 2016 23:50:03 +0000 (23:50 +0000)]
Ignore global constructor warning in clang.
llvm-svn: 264361
Reid Kleckner [Thu, 24 Mar 2016 23:49:34 +0000 (23:49 +0000)]
Try to fix ODR violation of ErrorInfo::ID
This implements my suggestion to Lang.
llvm-svn: 264360
Richard Smith [Thu, 24 Mar 2016 23:41:14 +0000 (23:41 +0000)]
[modules] Store offset to LOCAL_REDECLARATIONS record relative to the current
record rather than relative to the start of the bitcode file. Saves a couple of
bytes per LOCAL_REDECLARATIONS record (also makes diffs of llvm-bcanalyzer
output more useful when tracking down nondeterminism...).
llvm-svn: 264359
Manman Ren [Thu, 24 Mar 2016 23:21:29 +0000 (23:21 +0000)]
CXX TLS: collect return blocks after SelectAllBasicBlocks.
It is incorrect to get the corresponding MBB for a ReturnInst before
SelectAllBasicBlocks since SelectAllBasicBlocks can change the
correspondence between a ReturnInst and the MBB it is in.
PR27062
llvm-svn: 264358
Sanjay Patel [Thu, 24 Mar 2016 23:19:26 +0000 (23:19 +0000)]
Add utility script to generate checks for opt or llc regression tests
This is an enhancement of the existing update_llc_test_checks.py script.
It adds some of the functionality from the script used in D17999 to make
the IR checking more flexible.
The bad news:
This actually is 'My First Python Program'. Thus, it's likely that I have
violated all best practices of Python programming if I've made a functional
change from the original program. If you see anything that's obviously
wrong, please let me know or feel free to fix it. I didn't even read any
documentation...
The good news:
I tested this on ~10 existing opt/llc regression tests, and it does what
I hoped for. It produces exact checking for IR regression tests and doesn't
signficantly change the existing llc-with-x86-target asm checking. The opt
tests that were modified in r263667, r263668, r263674, and r263679 are
examples of the expected results, except that this version of the script
puts the check lines ahead of the IR to follow the existing llc/asm
behavior.
If there are no complaints/fallout, we should be able to remove the
original script. Extending this script to be used for non-x86 and clang
regression tests would be the expected follow-up steps.
llvm-svn: 264357
Enrico Granata [Thu, 24 Mar 2016 23:06:42 +0000 (23:06 +0000)]
Make it possible for language plugins to provide additional custom help for 'type lookup'
llvm-svn: 264356
Sanjoy Das [Thu, 24 Mar 2016 22:51:49 +0000 (22:51 +0000)]
Reduce code duplication by extracting out a helper function; NFC
llvm-svn: 264355
Sanjoy Das [Thu, 24 Mar 2016 22:37:52 +0000 (22:37 +0000)]
Lower varargs correctly in deopt bundle lowering
Earlier we were ignoring varargs in LowerCallSiteWithDeoptBundle because
populateCallLoweringInfo does not set CallLoweringInfo::IsVarArg.
llvm-svn: 264354
Jason Molenda [Thu, 24 Mar 2016 22:27:52 +0000 (22:27 +0000)]
Update the INFOPLIST_FILE setting in the xcode project file
so that the lldb command line binary's version #'s are updated
correctly.
<rdar://problem/
25346711>
llvm-svn: 264353
Sean Silva [Thu, 24 Mar 2016 22:27:27 +0000 (22:27 +0000)]
Fix typo: XDS -> XDG
Patch by Robert Ma <bob1211@gmail.com>!
llvm-svn: 264352
Stephane Sezer [Thu, 24 Mar 2016 22:22:20 +0000 (22:22 +0000)]
Make File option flags consistent for Python API
Summary:
Fixes SBCommandReturnObject::SetImmediateOutputFile() and
SBCommandReturnObject::SetImmediateOutputFile() for files opened
with "a" or "a+" by resolving inconsistencies between File and
our Python parsing of file objects.
Reviewers: granata.enrico, Eugene.Zelenko, jingham, clayborg
Subscribers: lldb-commits, sas
Differential Revision: http://reviews.llvm.org/D18228
Change by Francis Ricci <fjricci@fb.com>
llvm-svn: 264351
David Blaikie [Thu, 24 Mar 2016 22:17:08 +0000 (22:17 +0000)]
llvm-dwp: Coalesce code for reading the CU's DW_AT_GNU_dwo_id and DW_AT_name
Going to be reading the DW_AT_GNU_dwo_name shortly as well, and there
was already enough duplication here that it was worth refactoring
rather than adding even more.
llvm-svn: 264350
Mike Aizatsky [Thu, 24 Mar 2016 21:49:55 +0000 (21:49 +0000)]
[sancov] renaming statistics fields.
llvm-svn: 264349
Greg Clayton [Thu, 24 Mar 2016 21:49:22 +0000 (21:49 +0000)]
Get rid of a global constructor and also make this code safe to use after the global destructor chain has been run on the main thread.
llvm-svn: 264348
Greg Clayton [Thu, 24 Mar 2016 21:48:10 +0000 (21:48 +0000)]
Get rid of two global constructors by making things static variables in the only function that uses these variables.
llvm-svn: 264347
Greg Clayton [Thu, 24 Mar 2016 21:46:47 +0000 (21:46 +0000)]
Get rid of a global constructor that was causing a warning on MacOSX and make the Timer safe to use after the main threads global destructor chain is called.
llvm-svn: 264346
Matthias Braun [Thu, 24 Mar 2016 21:41:38 +0000 (21:41 +0000)]
LiveInterval: Fix Distribute() failing on liveranges with unused VNInfos
This fixes http://llvm.org/PR26991
llvm-svn: 264345
David Majnemer [Thu, 24 Mar 2016 21:40:22 +0000 (21:40 +0000)]
[LoopStrengthReduce] Don't hoist into a catchswitch
We try to hoist the insertion point as high as possible to encourage
sharing. However, we must be careful not to hoist into a catchswitch as
it is both an EHPad and a terminator.
llvm-svn: 264344
Enrico Granata [Thu, 24 Mar 2016 21:32:39 +0000 (21:32 +0000)]
Make 'type lookup' print an error message instead of complete radio silence when it can't find a type matching user input
It would be fun to make it provide suggestions (e.g. 'can't find NString, did you mean NSString instead?'), but this worries me a little bit on the account of just how thorough of a type system scan it would have to do
llvm-svn: 264343
Easwaran Raman [Thu, 24 Mar 2016 21:32:25 +0000 (21:32 +0000)]
Attach profile summary information to Module.
Differential Revision: http://reviews.llvm.org/D18289
llvm-svn: 264342
Lang Hames [Thu, 24 Mar 2016 21:17:50 +0000 (21:17 +0000)]
[Support] Add ErrorInfo::ID static member definition.
Somehow this got dropped in an earlier patch.
llvm-svn: 264341
Eric Christopher [Thu, 24 Mar 2016 21:04:52 +0000 (21:04 +0000)]
Finish the incomplete 'd' inline asm constraint support for PPC by
making sure we give it a register and mark it as a register constraint.
llvm-svn: 264340
Eric Christopher [Thu, 24 Mar 2016 21:04:47 +0000 (21:04 +0000)]
Reorder check lines, comments in test and remove unnecessary IR.
llvm-svn: 264339
Kostya Serebryany [Thu, 24 Mar 2016 21:03:58 +0000 (21:03 +0000)]
[libFuzzer] handle SIGTERM
llvm-svn: 264338
Sanjoy Das [Thu, 24 Mar 2016 20:51:24 +0000 (20:51 +0000)]
Match call and target calling conventions in test
Fixes an issue in rL264329.
llvm-svn: 264337
Mike Aizatsky [Thu, 24 Mar 2016 20:41:18 +0000 (20:41 +0000)]
[sancov] adding leading zeros to coverage pct.
Summary:
Using leading zeroes allows you to search for "000%" to find non-covered
items.
Differential Revision: http://reviews.llvm.org/D18420
llvm-svn: 264336
Dimitry Andric [Thu, 24 Mar 2016 20:39:17 +0000 (20:39 +0000)]
Add <atomic> to ThreadPool.h, since std::atomic is used
Summary:
Apparently, when compiling with gcc 5.3.2 for powerpc64, the order of
headers is such that it gets an error about std::atomic<> use in
ThreadPool.h, since this header is not included explicitly. See also:
https://llvm.org/bugs/show_bug.cgi?id=27058
Fix this by including <atomic>. Patch by Bryan Drewery.
Reviewers: chandlerc, joker.eph
Subscribers: bdrewery, llvm-commits
Differential Revision: http://reviews.llvm.org/D18460
llvm-svn: 264335
Reid Kleckner [Thu, 24 Mar 2016 20:38:49 +0000 (20:38 +0000)]
Revert "Recommitted r263424 "Supporting all entities declared in lexical scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)."
This reverts commit r264280.
This broke building Chromium for iOS. We'll upload a reproducer to the
PR soon.
llvm-svn: 264334
Reid Kleckner [Thu, 24 Mar 2016 20:38:43 +0000 (20:38 +0000)]
Revert "Recommitted r263425 "Supporting all entities declared in lexical scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)."
This reverts commit r264281.
This change breaks building Chromium for iOS. We'll upload a reproducer
to the PR soon.
llvm-svn: 264333
Ted Woodward [Thu, 24 Mar 2016 20:35:03 +0000 (20:35 +0000)]
Fix for missing prompt on Windows
Summary: On Windows (and possibly other hosts with LLDB_DISABLE_LIBEDIT defined), the (lldb) prompt won't print after async output, like from a breakpoint hit or a step. This patch forces the prompt to be printed out after async output.
Reviewers: zturner, clayborg
Subscribers: amccarth, lldb-commits
Differential Revision: http://reviews.llvm.org/D18335
llvm-svn: 264332
Krzysztof Parzyszek [Thu, 24 Mar 2016 20:31:41 +0000 (20:31 +0000)]
[Hexagon] Be sure to treat subregisters of a CSR as CSRs as well
llvm-svn: 264331
David Blaikie [Thu, 24 Mar 2016 20:25:51 +0000 (20:25 +0000)]
[ADT] C++11ify SmallVector::erase's arguments from iterator to const_iterator
llvm-svn: 264330
Sanjoy Das [Thu, 24 Mar 2016 20:23:29 +0000 (20:23 +0000)]
Add lowering support for llvm.experimental.deoptimize
Summary:
Only adds support for "naked" calls to llvm.experimental.deoptimize.
Support for round-tripping through RewriteStatepointsForGC will come
as a separate patch (should be simpler than this one).
Reviewers: reames
Subscribers: sanjoy, mcrosier, llvm-commits
Differential Revision: http://reviews.llvm.org/D18429
llvm-svn: 264329
Krzysztof Parzyszek [Thu, 24 Mar 2016 20:20:07 +0000 (20:20 +0000)]
[Hexagon] Add support for run-time stack overflow checking
Patch by Sundeep Kushwaha.
llvm-svn: 264328
Reid Kleckner [Thu, 24 Mar 2016 20:19:48 +0000 (20:19 +0000)]
[asan] Intercept all Heap* related imports from ucrtbase.dll
ucrtbase.dll appears to be built with some kind of cross-module
inlining, because there are calls to imported Heap* routines sprinkled
throughout the code. This inlining defeats our attempts to hotpatch
malloc, _malloc_base, and related functions. Failing to intercept an
allocation or deallocation results in a crash when the program attempts
to deallocate or reallocate memory with the wrong allocator.
This change patches the IAT of ucrtbase.dll to replace the addresses of
the imported Heap* functions with implementations provided by ASan. We
don't globally intercept the win32 Heap* functions because they are
typically used by system DLLs that run before ASan initializes.
Eventually, we may want to intercept them, but for now I think this is
the minimal change that will keep ASan stable.
Reviewers: samsonov
Differential Revision: http://reviews.llvm.org/D18413
llvm-svn: 264327
Teresa Johnson [Thu, 24 Mar 2016 19:52:20 +0000 (19:52 +0000)]
[ThinLTO] Use bulk importing in llvm-link
Summary:
Use bulk importing so we can avoid the use of post-pass metadata
linking. Cloned the ModuleLazyLoaderCache from the FunctionImport pass
to facilitate this.
Reviewers: joker.eph
Subscribers: dexonsmith, llvm-commits, joker.eph
Differential Revision: http://reviews.llvm.org/D18455
llvm-svn: 264326
Etienne Bergeron [Thu, 24 Mar 2016 19:42:36 +0000 (19:42 +0000)]
[clang-tidy] Add support for different char-types for the readability-redundant-string-cstr checker.
Summary:
The current checker is able to recognize std::string but does not recognize other string variants.
This patch is adding the support for any string defined with basic_string without considering the
the underlying char type.
The most common variant is: 'std::wstring' based on 'wchar_t'.
There are also other string variants added to the standard: u16string, u32string, etc...
Reviewers: alexfh
Subscribers: mamai, dblaikie, cfe-commits
Differential Revision: http://reviews.llvm.org/D18412
llvm-svn: 264325
Krzysztof Parzyszek [Thu, 24 Mar 2016 19:18:48 +0000 (19:18 +0000)]
[Hexagon] Generate PIC-specific versions of save/restore routines
In PIC mode, the registers R14, R15 and R28 are reserved for use by
the PLT handling code. This causes all functions to clobber these
registers. While this is not new for regular function calls, it does
also apply to save/restore functions, which do not follow the standard
ABI conventions with respect to the volatile/non-volatile registers.
Patch by Jyotsna Verma.
llvm-svn: 264324
Richard Smith [Thu, 24 Mar 2016 19:12:22 +0000 (19:12 +0000)]
Change ADL to produce lookup results in a deterministic order. This fixes some
rare issues with nondeterministic diagnostic order, and some very common issues
with nondeterministic module builds.
llvm-svn: 264323
Adhemerval Zanella [Thu, 24 Mar 2016 19:12:14 +0000 (19:12 +0000)]
Simplify AArch64 isRelRelative
This patch simplifies the isRelRelative for AArch64 and add the missing
ones for bootstrap and test-suite. It also adds more testing for
shared object creation.
llvm-svn: 264322
Richard Smith [Thu, 24 Mar 2016 19:10:58 +0000 (19:10 +0000)]
Stop relying on mapped_iterator's function having a result_type. That facility
is deprecated in modern C++ and unnecessary since decltype can be used to query
the relevant type.
llvm-svn: 264321
Sanjoy Das [Thu, 24 Mar 2016 18:57:39 +0000 (18:57 +0000)]
[Statepoints] Fix yet another issue around gc pointer uniqueing
Given that StatepointLowering now uniques derived pointers before
putting them in the per-statepoint spill map, we may end up with missing
entries for derived pointers when we visit a gc.relocate on a pointer
that was de-duplicated away.
Fix this by keeping two maps, one mapping gc pointers to their
de-duplicated values, and one mapping a de-duplicated value to the slot
it is spilled in.
llvm-svn: 264320
Sanjoy Das [Thu, 24 Mar 2016 18:57:31 +0000 (18:57 +0000)]
Minor cosmestic changes (NFC)
- Reflow comments
- Rename function
llvm-svn: 264319
Chris Bieneman [Thu, 24 Mar 2016 18:46:43 +0000 (18:46 +0000)]
[Docs] Updating CMake docs to include LLVM_OPTIMIZED_TABLEGEN
This is based on feedback on llvm-commits from Sean Silvas.
llvm-svn: 264318
David Blaikie [Thu, 24 Mar 2016 18:37:08 +0000 (18:37 +0000)]
[debuginfo] Include dwo_name in the split unit to improve dwp diagnostics
When multiple DWP files are merged together and duplicate DWO IDs are
found it's currently difficult to give an actionable error message - the
DW_AT_name of the CU could be provided, but might be identical (if the
same source file is built into two different configurations), which
doesn't help the user identify the problem.
When no intermediate DWP files are generated, the path to the two DWO
files could be provided - but is lost once the DWOs are merged into a
DWP.
So, include the name of the DWO (dwo_name) in the split file so that
collissions involving a source CU from a DWP can be better diagnosed.
(improvements to llvm-dwp using this to come shortly)
llvm-svn: 264316