summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Tsan] Do not sanitize memset() and other functions during initializationViktor Kutuzov2015-03-271-3/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D8544 llvm-svn: 233378
* [Sema] Implement DR777Benjamin Kramer2015-03-273-8/+28
| | | | | | | | A parameter pack after a default argument is now valid. PR23029. llvm-svn: 233377
* [Sema] Diagnose default argument on a parameter pack.Benjamin Kramer2015-03-273-2/+16
| | | | | | | | This is ill-formed (and cannot be used anyways). PR23028. llvm-svn: 233376
* Fix subprogram-linkonce-weak.ll and subprogram-linkonce-weak-odr.ll for Windows.Yaron Keren2015-03-272-11/+11
| | | | llvm-svn: 233375
* [ARM] Simplify IFUNC code by removing useless handlerDenis Protivensky2015-03-271-12/+1
| | | | llvm-svn: 233374
* tsan: don't write to meta shadow unnecessarilyDmitry Vyukov2015-03-271-4/+6
| | | | | | | If user does malloc(1<<30), the write to meta shadow can cause excessive memory consumption. llvm-svn: 233373
* [ARM] Add more IFUNC handlersDenis Protivensky2015-03-271-0/+3
| | | | llvm-svn: 233372
* [Support] Remove statically initialized yet dead code.Benjamin Kramer2015-03-271-18/+0
| | | | | | | | | | | The last user of this code vanished with r223368, but this function still was around being executed on every process start, allocating some memory and then never being used again. No functional change. Also avoids occasional complaints about the benign leak in this function, like PR23037. llvm-svn: 233371
* Reapply r233175 and r233183: float2int.James Molloy2015-03-2710-0/+846
| | | | | | | | This re-adds float2int to the tree, after fixing PR23038. It turns out the argument to APSInt() is true-if-unsigned, rather than true-if-signed :(. Added testcase and explanatory comment. llvm-svn: 233370
* Specify LLDB_REGNUM_GENERIC_ARG* registers for arm64Tamas Berghammer2015-03-271-8/+8
| | | | llvm-svn: 233369
* Only enable special apple link flags for libc++abi (or none)Eric Fiselier2015-03-271-1/+2
| | | | llvm-svn: 233368
* Fix PR23041. Use lock_shared() as opposed to lock() in shared_lock test.Eric Fiselier2015-03-271-1/+1
| | | | llvm-svn: 233367
* Complete the MachineScheduler fix made way back in r210390.Andrew Trick2015-03-278-25/+25
| | | | | | | | | | | | | | | | | | "Fix the MachineScheduler's logic for updating ready times for in-order. Now the scheduler updates a node's ready time as soon as it is scheduled, before releasing dependent nodes." This fix was only made in one variant of the ScheduleDAGMI driver. Francois de Ferriere reported the issue in the other bit of code where it was also needed. I never got around to coming up with a test case, but it's an obvious fix that shouldn't be delayed any longer. I'll try to refactor this code a little better. I did verify performance on a wide variety of targets and saw no negative impact with this fix. llvm-svn: 233366
* [NFC] Fix typo in comment.Sanjoy Das2015-03-271-1/+1
| | | | llvm-svn: 233365
* cleanup comments in sym_checkEric Fiselier2015-03-271-5/+5
| | | | llvm-svn: 233364
* [NFC] Fix typo in comment.Sanjoy Das2015-03-271-1/+1
| | | | llvm-svn: 233363
* Code cleanup [NFC]Philip Reames2015-03-271-14/+12
| | | | | | The assertion here was more expensive then it needed to be. We're only inserting allocas in the entry block, so we only need to consider ones in the entry block. llvm-svn: 233362
* More code cleanup [NFC]Philip Reames2015-03-271-14/+7
| | | | llvm-svn: 233361
* Add readelf support to abi_check. Prefer readelf over nmEric Fiselier2015-03-271-12/+88
| | | | llvm-svn: 233360
* More code cleanup [NFC]Philip Reames2015-03-271-12/+13
| | | | | | Minor naming, one potentially unsafe cast llvm-svn: 233359
* Code simplification and style cleanupPhilip Reames2015-03-271-97/+36
| | | | | | All the removed assertions are either implied locally by the assert at the top of the function or properties of the verifier. llvm-svn: 233358
* Require a GC strategy be specified for functions which use gc.statepointPhilip Reames2015-03-2710-45/+47
| | | | | | This was discussed a while back and I left it optional for migration. Since it's been far more than the 'week or two' that was discussed, time to actually make this manditory. llvm-svn: 233357
* Allow explicit spill slots to be specified for a gc.statepointPhilip Reames2015-03-272-4/+141
| | | | | | | | | | This patch adds support for explicitly provided spill slots in the GC arguments of a gc.statepoint. This is somewhat analogous to gcroot, but leverages the STATEPOINT MI node and StackMap infrastructure. The motivation for this is: 1) The stack spilling code for gc.statepoints hasn't advanced as fast as I'd like. One major option is to give up on doing spilling in the backend and do it at the IR level instead. We'd give up the ability to have gc values in registers, but that's a minor cost in practice. We are not neccessarily moving in that direction, but having the ability to prototype such a thing cheaply is interesting. 2) I want to port the gcroot lowering to use the statepoint infastructure. Given the metadata printers for gcroot expect a fixed set of stack roots, it's easiest to just reuse the explicit stack slots and pass them directly to the underlying statepoint. I'm holding off on the documentation for the new feature until I'm reasonable sure this is going to stick around. llvm-svn: 233356
* Reintroduce the SelectionDAG scheduler test for r233351.Andrew Trick2015-03-271-0/+51
| | | | | | | This test returns nonnative integer types which aren't supported on all targets. The real issue with the SelectionDAG scheduler is with x86 EFLAGS. llvm-svn: 233355
* WinEH: Create a parent frame alloca for HandlerType xdata tablesDavid Majnemer2015-03-276-1/+49
| | | | | | | | We don't have any logic to emit those tables yet, so the SDAG lowering of this intrinsic is just a stub. We can see the intrinsic in the prepared IR, though. llvm-svn: 233354
* This test should have been target specific. I missed that.Andrew Trick2015-03-271-51/+0
| | | | llvm-svn: 233353
* Refactor Code inside LoopVectorizer's function isInductionVariable.Karthik Bhat2015-03-272-9/+27
| | | | | | | | This patch exposes LoopVectorizer's isInductionVariable function as common a functionality. http://reviews.llvm.org/D8608 llvm-svn: 233352
* Fix a bug in SelectionDAG scheduling backtracking code: PR22304.Andrew Trick2015-03-272-1/+53
| | | | | | | | | | | | | | | It can happen (by line CurSU->isPending = true; // This SU is not in AvailableQueue right now.) that a SUnit is mark as available but is not in the AvailableQueue. For SUnit being selected for scheduling both conditions must be met. This patch mainly defensively protects from invalid removing a node from a queue. Sometimes nodes are marked isAvailable but are not in the queue because they have been defered due to some hazard. Patch by Pawel Bylica! llvm-svn: 233351
* Revert r233175 and r233183 with it. This pulls float2int back out of the ↵Nick Lewycky2015-03-2710-832/+0
| | | | | | tree, due to PR23038. llvm-svn: 233350
* DebugInfo: Update testcases with invalid variablesDuncan P. N. Exon Smith2015-03-279-20/+23
| | | | | | | | | | | | Fix testcases whose variables are invalid. I'm working on a patch that adds `Verifier` checks for `MDLocalVariable` (and `MDGlobalVariable`), and these failed because: - `scope:` fields need to point at `MDLocalScope` and can't be null. - `file:` fields need to point at `MDFile`. - `inlinedAt:` fields need to point at `MDLocation`. llvm-svn: 233349
* [Modules] When walking the lookup results in a namespace, sort them byChandler Carruth2015-03-271-9/+23
| | | | | | | | | | | | declaration name so that we mark declarations for emission in a deterministic order (and in turn give them deterministic IDs). This is the last for loop or data structure I can find by inspection of the AST writer which doesn't use a deterministic order. Found by inspection, no test case. llvm-svn: 233348
* Diagnose delayed typos in an expr list that is in an invalid expression.Kaelyn Takata2015-03-272-0/+8
| | | | | | | | | | Previously, if the expr list parsed fine but the expr to the left of the open parenthesis was invalid (when parsing the suffix of a postfix-expression), the parsed expr list was just ignored. Fixes PR23005. llvm-svn: 233347
* [AsmPrinter] Don't assert on GOT equivalent non-constant users.Ahmed Bougacha2015-03-272-1/+6
| | | | | | | We used to dyn_cast<Constant> in the recursive call, but cast<> in the initial one, and there can be non-Constant initial users. llvm-svn: 233346
* [modules] Handle defining a tag with a typedef name for linkage purposes on ↵Richard Smith2015-03-276-8/+57
| | | | | | top of an existing imported-but-not-visible definition. llvm-svn: 233345
* Rename ELFLinkingContext instances "ctx" intead of "context".Rui Ueyama2015-03-2737-297/+272
| | | | llvm-svn: 233344
* [Modules] Make Sema's map of referenced selectors have a deterministicChandler Carruth2015-03-274-20/+12
| | | | | | | | | | | order based on order of insertion. This should cause both our warnings about these and the modules serialization to be deterministic as a consequence. Found by inspection. llvm-svn: 233343
* [Modules] Make our on-disk hash table of selector IDs be built inChandler Carruth2015-03-272-7/+6
| | | | | | | | | | a deterministic order. This uses a MapVector to track the insertion order of selectors. Found by inspection. llvm-svn: 233342
* [modules] Handle defining a class template on top of an existing ↵Richard Smith2015-03-277-13/+73
| | | | | | imported-but-not-visible definition. llvm-svn: 233341
* DIBuilder: Change a few helpers to return downcasted MDNodesDuncan P. N. Exon Smith2015-03-271-4/+4
| | | | | | | | | Change `getNonCompileUnitScope()` to return `MDScope` and `getConstantAsMetadata()` to return `ConstantAsMetadata`. This will make it easier to start requiring more type safety in the debug info hierarchy. llvm-svn: 233340
* [Modules] Sort the file IDs prior to building the flattened array ofChandler Carruth2015-03-271-10/+13
| | | | | | | | | | | DeclIDs so that in addition to be grouped by file, the order of these groups is stable. Found by inspection, no test case. Not sure this can be observed without a randomized seed for the hash table, but we shouldn't be relying on the hash table layout under any circumstances. llvm-svn: 233339
* Allow ExpectedFailure* decorators to work with optional argumentsYing Chen2015-03-271-18/+19
| | | | | | -if the decorator functions called with optional arguments, return decorator to orignal method llvm-svn: 233338
* AsmWriter: Cleanup debug info fields with MDFieldPrinter, NFCDuncan P. N. Exon Smith2015-03-271-385/+248
| | | | | | | | | | Move all the `MDNode` field helper methods into a new class, `MDFieldPrinter`, and add helpers for integers, bools, and `DW_*` symbolic constants. This reduces a ton of code duplication, and makes it more mechanical to update `AsmWriter` to print broken code in the context of stricter accessors (like in r233322). llvm-svn: 233337
* [DWARF] Generate qualified names of functions if linkage names are missing.Siva Chandra2015-03-273-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This is similar to the change introduced for variable DIEs in r233098. If the linkage names of functions are missing in the DWARF, then their fully qualified names (similar to the name that would be got by demangling their linkage name) is generated using the decl context. This change fixes TestNamespace when the test case is compiled with GCC, hence it is enabled for GCC. The test and the test case are also enhanced to cover variadic functions. Test Plan: dotest.py -C <clang|gcc> -p TestNamespace Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8623 llvm-svn: 233336
* [Modules] Fix another pointer keyed set that we iterate over whileChandler Carruth2015-03-271-1/+1
| | | | | | | | writing a module to be a set-vector to preserve insertion order. No test case, found by inspection. llvm-svn: 233335
* [Modules] Clean up some code that was manually replicating whatChandler Carruth2015-03-261-2/+1
| | | | | | SmallSetVector provides directly. llvm-svn: 233334
* [Modules] Fix an obvious lack of deterministic ordering when processingChandler Carruth2015-03-261-1/+1
| | | | | | | | | | | | rewritten decls for Objective-C modules. Found by inspection and completely obvious, so no test case. Many of the remaining determinism fixes won't have precise test cases at this point, but these are the kinds of things we wouldn't ask for a specific test of during code review but ask authors to fix. The functionality isn't changing, and should (he he!) already be tested. llvm-svn: 233333
* [Modules] Make the AST serialization always use lexicographic order whenChandler Carruth2015-03-262-5/+18
| | | | | | | | | | | | | | | | traversing the identifier table. No easy test case as this table is somewhere between hard and impossible to observe as non-deterministically ordered. The table is a hash table but we hash the string contents and never remove entries from the table so the growth pattern, etc, is all completely fixed. However, relying on the hash function being deterministic is specifically against the long-term direction of LLVM's hashing datastructures, which are intended to provide *no* ordering guarantees. As such, this defends against these things by sorting the identifiers. Sorting identifiers right before we emit them to a serialized form seems a low cost for predictability here. llvm-svn: 233332
* [Modules] Delete stale, pointless code. All tests still pass with thisChandler Carruth2015-03-261-15/+0
| | | | | | | | | | | logic removed. This logic was both inserting all builtins into the identifier table and ensuring they would get serialized. The first happens unconditionally now, and we always write out the entire identifier table. This code can simply go away. llvm-svn: 233331
* Deduplicate a bunch of setOpActions into an MVT range-for. NFC.Ahmed Bougacha2015-03-261-39/+15
| | | | llvm-svn: 233330
* [CodeGen] Report error rather than crash when unable to makeLibCall.Ahmed Bougacha2015-03-262-0/+3
| | | | | | Also, make the assumption explicit in the header. llvm-svn: 233329
OpenPOWER on IntegriCloud