summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Reverted patch 273864Elena Demikhovsky2016-06-295-59/+90
| | | | llvm-svn: 274115
* [Driver][AArch64] Add support for Broadcom Vulcan core.Pankaj Gode2016-06-294-1/+28
| | | | | | | | Adding support for new Broadcom Vulcan core (ARMv8.1A). Differential Revision: http://reviews.llvm.org/D21501 llvm-svn: 274114
* [ELF] - Check the input bitcode files for compatibility.George Rimar2016-06-292-3/+12
| | | | | | | | | | | | Previously BC files were not checked for the same platform etc, That lead to confusing error "Invalid section header entry size (e_shentsize) in ELF header" when mixing files for different architectures. Patch fixes PR28324. Differential revision: http://reviews.llvm.org/D21832 llvm-svn: 274113
* Move isValidCIdentifier to Strings.cpp.Rui Ueyama2016-06-294-12/+16
| | | | llvm-svn: 274112
* [ELF] - Updated comments. NFC.George Rimar2016-06-291-2/+2
| | | | | | As was suggested by Rafael Espíndola. llvm-svn: 274111
* [AVX512] Zero extend cmp intrinsic return value.Igor Breger2016-06-292-2/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D21746 llvm-svn: 274110
* Create Strings.cpp and move string manipulation functions to that file.Rui Ueyama2016-06-2910-60/+85
| | | | llvm-svn: 274109
* [SystemZ] Add floating-point test data class instructions.Marcin Koscielnicki2016-06-298-0/+164
| | | | | | | These are not used by CodeGen yet - ISD combiners creating the new node will come in subsequent patches. llvm-svn: 274108
* [LTO] Infer ELFKind/EMachine from Bitcode filesDavide Italiano2016-06-292-2/+41
| | | | | | | | | | So that users are not forced to pass `-m` on the command line when the inputs are all bitcode. PR: 28268 Differential Revision: http://reviews.llvm.org/D21779 llvm-svn: 274107
* Revert "[Coverage] Move logic to encode filenames and mappings into llvm (NFC)"Vedant Kumar2016-06-292-60/+21
| | | | | | | | | This reverts commit 520a8298d8ef676b5da617ba3d2c7fa37381e939 (r273055). This is breaking stage2 instrumented builds with "malformed coverage data" errors. llvm-svn: 274106
* Revert "[Coverage] Clarify ownership of a MemoryBuffer in the reader (NFC)"Vedant Kumar2016-06-293-10/+10
| | | | | | This reverts commit 1037ef2574adde2103ad221d63834c3e1df4a776. llvm-svn: 274105
* Revert "[Coverage] Adopt llvm::coverage::encodeFilenamesAndRawMappings (NFC)"Vedant Kumar2016-06-291-10/+18
| | | | | | | | | This reverts commit 161ff9db3a3d0d62880d1cb18d58182cd3034912 (r273056). This is breaking stage2 instrumented builds with "malformed coverage data" errors. llvm-svn: 274104
* Rename matchStr -> globMatch.Rui Ueyama2016-06-293-6/+6
| | | | llvm-svn: 274103
* Revert "[ValueTracking] Teach computeKnownBits for PHI nodes to compute sign ↵Craig Topper2016-06-293-128/+1
| | | | | | | | bit for a recurrence with a NSW addition." This is breaking an optimizaton remark test in clang. I've identified a couple fixes for that, but want to understand it better before I commit to anything. llvm-svn: 274102
* [Diag] Add getter shouldAlwaysPrint. NFCAdam Nemet2016-06-291-3/+3
| | | | | | | | | | For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass name. This adds a getter to help the transition. There is also a corresponding llvm patch. llvm-svn: 274101
* [Diag] Add getter shouldAlwaysPrint. NFCAdam Nemet2016-06-294-7/+10
| | | | | | | | | | For the new hotness attribute, the API will take the pass rather than the pass name so we can no longer play the trick of AlwaysPrint being a special pass name. This adds a getter to help the transition. There is also a corresponding clang patch. llvm-svn: 274100
* Make SymbolTable::findAll to return only defined symbols.Rui Ueyama2016-06-291-16/+24
| | | | | | | | | | We allowed the function to return a vector that contains nullptrs which is weird. This change makes the function to return only defined symbols. Differential Revision: http://reviews.llvm.org/D21828 llvm-svn: 274099
* [ValueTracking] Teach computeKnownBits for PHI nodes to compute sign bit for ↵Craig Topper2016-06-293-1/+128
| | | | | | | | | | | | a recurrence with a NSW addition. If a operation for a recurrence is an addition with no signed wrap and both input sign bits are 0, then the result sign bit must also be 0. Similar for the negative case. I found this deficiency while playing around with a loop in the x86 backend that contained a signed division that could be optimized into an unsigned division if we could prove both inputs were positive. One of them being the loop induction variable. With this patch we can perform the conversion for this case. One of the test cases here is a contrived variation of the loop I was looking at. Differential revision: http://reviews.llvm.org/D21493 llvm-svn: 274098
* [DAGCombine] Teach DAG combine to handle ORs of shuffles involving zero ↵Craig Topper2016-06-292-57/+55
| | | | | | vectors where the zero vector is the first operand to the shuffle instead of the second. llvm-svn: 274097
* [DAGCombine] Add test cases to show that DAG combining an OR of two shuffles ↵Craig Topper2016-06-291-0/+44
| | | | | | with zero vectors doesn't work if the zero vector is the first operand of the shuffle. Fix coming in a follow up patch. llvm-svn: 274096
* [CodeGen] Make ShuffleVectorSDNode::commuteMask take a MutableArrayRef ↵Craig Topper2016-06-292-2/+2
| | | | | | instead of SmallVectorImpl. NFC. llvm-svn: 274095
* Revert "[InstCombine] Avoid combining the bitcast of a var that is used as ↵Eric Christopher2016-06-294-227/+0
| | | | | | | | | | | | both address and result of load instructions" Revert "[InstCombine] Combine A->B->A BitCast" as this appears to cause PR27996 and as discussed in http://reviews.llvm.org/D20847 This reverts commits r270135 and r263734. llvm-svn: 274094
* [bugpoint] Delete a stale comment.Philip Reames2016-06-291-3/+0
| | | | llvm-svn: 274093
* [bugpoint] Unwrap one level of wrapper functions [NFC]Philip Reames2016-06-292-18/+11
| | | | llvm-svn: 274092
* [ELF] Support for wildcard in version scripts.Davide Italiano2016-06-295-14/+97
| | | | | | | | | | | | | | | Example: VERSION_1.0 { global: foo*; local: *; } now correctly matches all the symbols which name starts with `foo`. Differential Revision: http://reviews.llvm.org/D21732 llvm-svn: 274091
* [Triple] Add isLittleEndian().Davide Italiano2016-06-292-0/+9
| | | | | | | | | | This allows us to query about the endianness without having to look at DataLayout. The API will be used (and tested) in lld, in order to find out the endianness of BitcodeFiles. Briefly discussed with Rafael. llvm-svn: 274090
* Refactor ELF type inference functions.Rui Ueyama2016-06-295-41/+43
| | | | | | | | | | | | | Previously, we initialized Config->EKind and Config->EMachine when we instantiate ELF objects. That was not an ideal location to do that because the logic was buried too deep inside a concrete logic. This patch moves the code to the driver so that the initialization becomes explicit. Differential Revision: http://reviews.llvm.org/D21784 llvm-svn: 274089
* Mark inheriting constructors as deleted if the corresponding defaulted defaultRichard Smith2016-06-298-47/+123
| | | | | | | | constructor would be; this is effectively required by P0136R1. This has the effect of exposing the validity of the base class initialization steps to SFINAE checks. llvm-svn: 274088
* [bugpoint] Extract helper functions for readability [NFCI]Philip Reames2016-06-291-51/+64
| | | | | | And remove the use of a label(!) in the process. llvm-svn: 274087
* [llvm-cov] Minor cleanups to prepare for the html format patchVedant Kumar2016-06-296-31/+84
| | | | | | | | | | | | - Add renderView{Header,Footer}, renderLineSuffix, and hasSubViews to support creating tables with nested views. - Move the 'Format' cl::opt to make it easier to extend. - Just create one function view file, instead of overwriting the same file for every new function. Add a regression test for this. llvm-svn: 274086
* [Object] Fix a -Wpessimizing-move error; clang-format; NFCVedant Kumar2016-06-291-5/+8
| | | | llvm-svn: 274085
* Revert "[PS4] Tighten up a test (noticed in passing)"Sean Silva2016-06-291-2/+2
| | | | | | | | | | This reverts commit r269709. r262285 changed this deliberately so that the test would not be sensitive to which binaries are in the same directory as clang. See the commit message of that commit for more background. llvm-svn: 274084
* [bugpoint] Simplify code by moving exception to only callerPhilip Reames2016-06-294-12/+10
| | | | llvm-svn: 274083
* [bugpoint] Treat token type the same as ehpad w.r.t deletionPhilip Reames2016-06-291-4/+4
| | | | llvm-svn: 274082
* [bugpoint] Disabling one transform shouldn't prevent reporting the progress ↵Philip Reames2016-06-291-2/+2
| | | | | | of the former llvm-svn: 274081
* Function declarations are, in fact, permitted in the init-statement of a forRichard Smith2016-06-282-1/+5
| | | | | | loop. Don't confuse Sema by saying they're not. llvm-svn: 274080
* Finish cleaning up most of the error handling in libObject’s ↵Kevin Enderby2016-06-2810-18/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MachOUniversalBinary and its clients to use the new llvm::Error model for error handling. Changed getAsArchive() from ErrorOr<...> to Expected<...> so now all interfaces there use the new llvm::Error model for return values. In the two places it had if (!Parent) this is actually a program error so changed from returning errorCodeToError(object_error::parse_failed) to calling report_fatal_error() with a message. In getObjectForArch() added error messages to its two llvm::Error return values instead of returning errorCodeToError(object_error::arch_not_found) with no error message. For the llvm-obdump, llvm-nm and llvm-size clients since the only binary files in Mach-O Universal Binaries that are supported are Mach-O files or archives with Mach-O objects, updated their logic to generate an error when a slice contains something like an ELF binary instead of ignoring it. And added a test case for that. The last error stuff to be cleaned up for libObject’s MachOUniversalBinary is the use of errorOrToExpected(Archive::create(ObjBuffer)) which needs Archive::create() to be changed from ErrorOr<...> to Expected<...> first, which I’ll work on next. llvm-svn: 274079
* [Diag] Fix file commentAdam Nemet2016-06-281-1/+1
| | | | llvm-svn: 274078
* [Sema] Disallow ambigious base classes in template argument deductionErik Pilkington2016-06-282-22/+44
| | | | | | | | Fixes PR28195. Differential revision: http://reviews.llvm.org/D21653 llvm-svn: 274077
* ObjC Class Property: diagnostics when accessing a class property using instance.Manman Ren2016-06-284-7/+35
| | | | | | | | | | | | | When a class property is accessed with an object instance, before this commit, we try to apply a typo correction of the same property: property 'c' not found on object of type 'A *'; did you mean 'c'? With this commit, we correctly emit a diagnostics: property 'c' is a class property; did you mean to access it with class 'A'? rdar://26866973 llvm-svn: 274076
* Codegen: [MBP] Add messages to asserts. NFCKyle Butt2016-06-281-3/+4
| | | | llvm-svn: 274075
* [msan] Fix handling of padding in sendmsg control data.Evgeniy Stepanov2016-06-282-1/+130
| | | | llvm-svn: 274074
* [ARM] Fix 28282: cost computation for constant hoistingWeiming Zhao2016-06-282-1/+18
| | | | | | | | | | | | | | | | | Summary: This fixes bug: https://llvm.org/bugs/show_bug.cgi?id=28282 Currently the cost model of constant hoisting checks the bit width of the data type of the constants. However, the actual immediate value is small enough and not need to be hoisted. This patch checks for the actual bit width needed for the constant. Reviewers: t.p.northover, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D21668 llvm-svn: 274073
* Revert r274054 to try to appease the botManman Ren2016-06-284-654/+108
| | | | llvm-svn: 274072
* Handle empty versions.Rafael Espindola2016-06-283-4/+30
| | | | | | They are significant now that we support @ in symbol names. llvm-svn: 274071
* Don't check the section index, it is not relevant for this test.Rafael Espindola2016-06-281-3/+3
| | | | llvm-svn: 274070
* Relax the clearance calculating for breaking partial register dependency.Dehao Chen2016-06-282-6/+27
| | | | | | | | | | | | Summary: LLVM assumes that large clearance will hide the partial register spill penalty. But in our experiment, 16 clearance is too small. As the inserted XOR is normally fairly cheap, we should have a higher clearance threshold to aggressively insert XORs that is necessary to break partial register dependency. Reviewers: wmi, davidxl, stoklund, zansari, myatsina, RKSimon, DavidKreitzer, mkuper, joerg, spatel Subscribers: davidxl, llvm-commits Differential Revision: http://reviews.llvm.org/D21560 llvm-svn: 274068
* [YAML] Fix YAML tags appearing before the start of sequence elementsChris Bieneman2016-06-283-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | Our existing yaml::Output code writes tags immediately when mapTag is called, without any state handling. This results in tags on sequence elements being written before the element itself. For example, we see this: SomeArray: !elem_type - key1: 1 key2: 2 !elem_type2 - key3: 3 key4: 4 We should instead see: SomeArray: - !elem_type key1: 1 key2: 2 - !elem_type2 key3: 3 key4: 4 Our reader handles reading properly, so this bug only impacts writing yaml sequences with tagged elements. As a test for this I've modified the Mach-O yaml encoding to allways apply the !mach-o tag when encoding MachOYAML::Object entries. This results in the !mach-o tag appearing as expected in dumped fat files. llvm-svn: 274067
* [SystemZ] Use NILL instruction instead of NILF where possibleZhan Jun Liau2016-06-283-1/+130
| | | | | | | | | | | | | | | | | | | Summary: SystemZ shift instructions only use the last 6 bits of the shift amount. When the result of an AND operation is used as a shift amount, this means that we can use the NILL instruction (which operates on the last 16 bits) rather than NILF (which operates on the last 32 bits) for a 16-bit savings in instruction size. Reviewers: uweigand Subscribers: llvm-commits Author: colpell Committing on behalf of Elliot. Differential Revision: http://reviews.llvm.org/D21686 llvm-svn: 274066
* Fix "not all control paths return a value" warning on MSVCSimon Pilgrim2016-06-281-0/+1
| | | | llvm-svn: 274065
OpenPOWER on IntegriCloud