summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* In Dwarf 3 (and Dwarf 2) attributes whose value are offsets into aEric Christopher2013-11-219-93/+250
| | | | | | | | | | | | | | | | | | | | | section use the form DW_FORM_data4 whilst in Dwarf 4 and later they use the form DW_FORM_sec_offset. This patch updates the places where such attributes are generated to use the appropriate form depending on the Dwarf version. The DIE entries affected have the following tags: DW_AT_stmt_list, DW_AT_ranges, DW_AT_location, DW_AT_GNU_pubnames, DW_AT_GNU_pubtypes, DW_AT_GNU_addr_base, DW_AT_GNU_ranges_base It also adds a hidden command line option "--dwarf-version=<uint>" to llc which allows the version of Dwarf to be generated to override what is specified in the metadata; this makes it possible to update existing tests to check the debugging information generated for both Dwarf 4 (the default) and Dwarf 3 using the same metadata. Patch (slightly modified) by Keith Walker! llvm-svn: 195391
* Fix indentation and whitespace.Rui Ueyama2013-11-211-57/+49
| | | | llvm-svn: 195389
* [test] Add InputGraph testsShankar Easwaran2013-11-212-0/+366
| | | | llvm-svn: 195388
* PR18013: Don't assert diagnosing a bad std::initializer_list construction.Richard Smith2013-11-212-7/+30
| | | | llvm-svn: 195384
* SHLD/SHRD are VectorPath (microcode) instructions known to have poor latency ↵Ekaterina Romanova2013-11-218-18/+328
| | | | | | | | | | on certain architectures. While generating SHLD/SHRD instructions is acceptable when optimizing for size, optimizing for speed on these platforms should be implemented using alternative sequences of instructions composed of add, adc, shr, shl, or and lea which are directPath instructions. These alternative instructions not only have a lower latency but they also increase the decode bandwidth by allowing simultaneous decoding of a third directPath instruction. AMD's processors family K7, K8, K10, K12, K15 and K16 are known to have SHLD/SHRD instructions with very poor latency. Optimization guides for these processors recommend using an alternative sequence of instructions. For these AMD's processors, I disabled folding (or (x << c) | (y >> (64 - c))) when we are not optimizing for size. It might be beneficial to disable this folding for some of the Intel's processors. However, since I couldn't find specific recommendations regarding using SHLD/SHRD instructions on Intel's processors, I haven't disabled this peephole for Intel. llvm-svn: 195383
* Introduce two command-line flags for the instrumentation pass to control ↵Peter Collingbourne2013-11-213-121/+289
| | | | | | | | | | | | | | whether the labels of pointers should be ignored in load and store instructions The new command line flags are -dfsan-ignore-pointer-label-on-store and -dfsan-ignore-pointer-label-on-load. Their default value matches the current labelling scheme. Additionally, the function __dfsan_union_load is marked as readonly. Patch by Lorenzo Martignoni! Differential Revision: http://llvm-reviews.chandlerc.com/D2187 llvm-svn: 195382
* Implement a bunch of custom glibc wrappers & corresponding tests.Peter Collingbourne2013-11-215-88/+977
| | | | | | | | | | | | | - Introduce several new custom glibc wrappers - Implement some of the not yet implemented wrappers - Refactor and extend the tests - Add script to make sure all declare custom glibc wrappers are implemented & tested. Patch by Lorenzo Martignoni! Differential Revision: http://llvm-reviews.chandlerc.com/D2234 llvm-svn: 195381
* Move member variable up to where the rest of non-DWARF5 variables reside.Eric Christopher2013-11-211-3/+3
| | | | llvm-svn: 195380
* CMake: Some changes to package version names:Hans Wennborg2013-11-211-6/+6
| | | | | | | | | | - Allow overriding PACKAGE_VERSION from the command-line - Use PACKAGE_VERSION to set CPACK_PACKAGE_VERSION (used by the Win installer) - Don't include the version number in the CPack install dir or registry key. Differential revision: http://llvm-reviews.chandlerc.com/D2245 llvm-svn: 195379
* Test commit for the user "kromanova" to verify commit access. I removed ↵Ekaterina Romanova2013-11-211-1/+1
| | | | | | "UNSUPPORTED" comment because unsigned __int128 type is in fact supported. llvm-svn: 195378
* Tweak exports list so lldb will still build correctly whenJason Molenda2013-11-211-1/+1
| | | | | | init_lldb is absent (when doing a no-python build). llvm-svn: 195377
* ObjectiveC. Implement attribute 'objc_bridge_mutable'Fariborz Jahanian2013-11-214-11/+72
| | | | | | | | whose semantic is currently identical to objc_bridge, but their differences may manifest down the road with further enhancements. // rdar://15498044 llvm-svn: 195376
* Remove dangling documentation. llvm-prof was deleted a while ago.Benjamin Kramer2013-11-211-63/+0
| | | | llvm-svn: 195372
* Exit if launch doesn't succeed.Greg Clayton2013-11-211-0/+1
| | | | llvm-svn: 195371
* Added the ability to launch the program that was specified on the command ↵Greg Clayton2013-11-211-2/+20
| | | | | | line and have it waiting for a NativeProcessProtocol to attach. llvm-svn: 195370
* Start the correct host abstraction of process and thread.Greg Clayton2013-11-215-14/+1048
| | | | | | | | | | | | Added a new "Host/Debug.h" which contains the pure virtual class definitions for NativeProcessProtocol and NativeThreadProtocol. These classes are host layer classes that, over time, every host that supports debugging will implement once. Then the new "lldb-gdbserver" binary in the tools directory will be able to make a remote debugging binary from these native classes, and we will also be able to have a new lldb_private::Process class that implements native debugging using these classes. So as soon as linux and MacOSX switch over to using this layer, everyone will get native and remote debugging. This check-in is primarily to get the needed code in so that poeple can start trying to implement the NativeProcessProtocol and NativeThreadProtocol and use it in the GDBRemoteCommunicationServer class to implement a GDB server for remote debugging. llvm-svn: 195369
* ObjectiveC migrator. delegate property must be Fariborz Jahanian2013-11-213-7/+13
| | | | | | | inferred as 'assign', not 'assign' and 'strong'. // rdar://15509831 llvm-svn: 195368
* Fix a crash in EmitStoreThroughExtVectorComponentLValue for vectors of odd ↵Joey Gouly2013-11-212-0/+23
| | | | | | | | | | | | | | | | | | | sizes. In OpenCL a vector of 3 elements, acts like a vector of four elements. So for a vector of size 3 the '.hi' and '.odd' accessors, would access the elements {2, 3} and {1, 3} respectively. However, in EmitStoreThroughExtVectorComponentLValue we are still operating on a vector of size 3, so we should only access {2} and {1}. We do this by checking the last element to be accessed, and ignore it if it is out-of-bounds. EmitLoadOfExtVectorElementLValue doesn't have a similar problem, because it does a direct shufflevector with undef, so an out-of-bounds access just gives an undef value. Patch by Anastasia Stulova! llvm-svn: 195367
* Added testcase for r195255.Enea Zaffanella2013-11-211-0/+9
| | | | llvm-svn: 195366
* [ARM] add the overlooked tests for Cortex-A7 build attributesArtyom Skrobov2013-11-211-0/+75
| | | | llvm-svn: 195365
* [mips][msa] Fix a corner case in performORCombine() when combining nodes ↵Daniel Sanders2013-11-212-4/+41
| | | | | | | | | | | | | | | into VSELECT. Mask == ~InvMask asserts if the width of Mask and InvMask differ. The combine isn't valid (with two exceptions, see below) if the widths differ so test for this before testing Mask == ~InvMask. In the specific cases of Mask=~0 and InvMask=0, as well as Mask=0 and InvMask=~0, the combine is still valid. However, there are more appropriate combines that could be used in these cases such as folding x & 0 to 0, or x & ~0 to x. llvm-svn: 195364
* Update cmake for SBPlatform.cpp added in r195273Ed Maste2013-11-211-0/+1
| | | | llvm-svn: 195362
* Annotate test that fails on the FreeBSD buildbotEd Maste2013-11-211-0/+1
| | | | | | llvm.org/pr17807 llvm-svn: 195361
* [ARM] add basic support for Cortex-A7 and VFPv4 to ClangArtyom Skrobov2013-11-213-3/+51
| | | | llvm-svn: 195359
* [ARM] add basic Cortex-A7 support to LLVM backendArtyom Skrobov2013-11-212-1/+13
| | | | llvm-svn: 195358
* Trailing linefeed.NAKAMURA Takumi2013-11-211-1/+0
| | | | llvm-svn: 195357
* Add support for legalizing SETNE/SETEQ by inverting the condition code and ↵Daniel Sanders2013-11-213-14/+288
| | | | | | | | | | | | | | | | | | | | | | | | | the result of the comparison. Summary: LegalizeSetCCCondCode can now legalize SETEQ and SETNE by returning the inverse condition and requesting that the caller invert the result of the condition. The caller of LegalizeSetCCCondCode must handle the inverted CC, and they do so as follows: SETCC, BR_CC: Invert the result of the SETCC with SelectionDAG::getNOT() SELECT_CC: Swap the true/false operands. This is necessary for MSA which lacks an integer SETNE instruction. Reviewers: resistor CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2229 llvm-svn: 195355
* Better implementation of JavaScript === and !== operators.Alexander Kornienko2013-11-213-17/+40
| | | | | | | | | | | | | | | | Summary: Now based on token merging. Now they are not only prevented from being split, but are actually formatted as comparison operators. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2240 llvm-svn: 195354
* ARM: define & use __ARM_NEON on ARM32 (as per ACLE)Tim Northover2013-11-212-2/+4
| | | | | | | | | There seem to be quite a few references to the old macro __ARM_NEON__ on the internet, so I don't think it's a good idea to remove it entirely (at least yet), but the canonical name does not have the trailing underscores so we should use that ourselves. llvm-svn: 195353
* [asan] rename contiguous-container-buffer-overflow (too long) to ↵Kostya Serebryany2013-11-212-2/+2
| | | | | | container-overflow llvm-svn: 195352
* tsan: deflake testsDmitry Vyukov2013-11-212-0/+3
| | | | | | | | the tests produce episodic flakes the hypothesis is that it's due to our "racy" race detection algorithm sleeps should remove the flakes llvm-svn: 195351
* [msan] Test for r195349.Evgeniy Stepanov2013-11-211-0/+22
| | | | llvm-svn: 195350
* [msan] Propagate condition origin in select instruction.Evgeniy Stepanov2013-11-212-5/+19
| | | | llvm-svn: 195349
* tsan: remove debug output from testDmitry Vyukov2013-11-211-1/+0
| | | | llvm-svn: 195347
* tsan: add -lm to output test build scriptDmitry Vyukov2013-11-211-1/+1
| | | | | | as common sanitizer interceptors now require it llvm-svn: 195346
* tsan: fix handling of setjmpDmitry Vyukov2013-11-211-4/+8
| | | | | | | | It's incorrect to take address of setjmp, because it may not (ligally) present in libc. Fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59188 llvm-svn: 195345
* cmake: Add option POLLY_USE_CLOOGTobias Grosser2013-11-211-1/+6
| | | | | | This allows to build Polly without CLooG. llvm-svn: 195344
* [mips][msa/dsp] Only do DSP combines if DSP is enabled.Daniel Sanders2013-11-212-0/+144
| | | | | | Fixes a crash (null pointer dereferenced) when MSA is enabled. llvm-svn: 195343
* Use multiple filecheck prefixes in msan instrumentation tests.Evgeniy Stepanov2013-11-212-72/+57
| | | | llvm-svn: 195342
* Whitespace.NAKAMURA Takumi2013-11-212-2/+2
| | | | llvm-svn: 195341
* [PM] Fix typo and trailing space.Chandler Carruth2013-11-211-2/+2
| | | | llvm-svn: 195340
* Revert r195317 (and r195333), "Teach ISel not to optimize 'optnone' functions."NAKAMURA Takumi2013-11-215-85/+2
| | | | | | | | It broke, at least, i686 target. It is reproducible with "llc -mtriple=i686-unknown". FYI, it didn't appear to add either "-O0" or "-fast-isel". llvm-svn: 195339
* [PM] Widen the interface for invalidate on an analysis result now thatChandler Carruth2013-11-213-22/+89
| | | | | | | | | | | | | | | | | | | it is completely optional, and sink the logic for handling the preserved analysis set into it. This allows us to implement the delegation logic desired in the proxy module analysis for the function analysis manager where if the proxy itself is preserved we assume the set of functions hasn't changed and we do a fine grained invalidation by walking the functions in the module and running the invalidate for them all at the manager level and letting it try to invalidate any passes. This in turn makes it blindingly obvious why we should hoist the invalidate trait and have two collections of results. That allows handling invalidation for almost all analyses without indirect calls and it allows short circuiting when the preserved set is all. llvm-svn: 195338
* [OCaml] Unbreak make install by providing ocamldoc targetPeter Zotov2013-11-211-1/+6
| | | | llvm-svn: 195336
* add 'REQUIRES: asserts' to a test that uses 'llc -debug'; this fixes the ↵Kostya Serebryany2013-11-211-0/+1
| | | | | | no-asserts build llvm-svn: 195333
* [PM] Add support for using SFINAE to reflect on an analysis's resultChandler Carruth2013-11-212-7/+49
| | | | | | | | | | | | | | | | | | type and detect whether or not it provides an 'invalidate' member the analysis manager should use. This lets the overwhelming common case of *not* caring about custom behavior when an analysis is invalidated be the the obvious default behavior with no code written by the author of an analysis. Only when they write code specifically to handle invalidation does it get used. Both cases are actually covered by tests here. The test analysis uses the default behavior, and the proxy module analysis actually has custom behavior on invalidation that is firing correctly. (In fact, this is the analysis which was the primary motivation for having custom invalidation behavior in the first place.) llvm-svn: 195332
* [tsan] use FileCheck in race_on_speculative_load.ccKostya Serebryany2013-11-211-1/+4
| | | | llvm-svn: 195331
* Implemented Neon scalar vdup_lane intrinsics.Ana Pazos2013-11-213-2/+129
| | | | | | Fixed scalar dup alias and added test case. llvm-svn: 195330
* Implemented Neon scalar vdup_lane intrinsics.Ana Pazos2013-11-213-0/+200
| | | | | | Fixed scalar dup alias and added test case. llvm-svn: 195329
* Revert "Add new attribute 'objc_suppress_protocol' to suppress protocol ↵Ted Kremenek2013-11-216-100/+14
| | | | | | | | | | | conformance for a class." After implementing this patch, a few concerns about the language feature itself emerged in my head that I had previously not considered. I want to resolve those design concerns first before having a half-designed language feature in the tree. llvm-svn: 195328
OpenPOWER on IntegriCloud