summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Clarify the description of the noalias attributeHal Finkel2014-11-211-13/+16
| | | | | | | | | | | | | | | | | | | | | | The previous description of the noalias attribute did not accurately specify the implemented semantics, and the terminology used differed unnecessarily from that used by the C specification to define the semantics of restrict. For the argument attribute, the semantics can be precisely specified in terms of objects accessed through pointers based on the arguments, and this is now what is done. Saying that the semantics are 'slightly weaker' than that provided by C99 restrict is not really useful without further elaboration, so that has been removed from the sentence. noalias on a return value is really used to mean that the function is malloc-like (and, in fact, we use this attribute to represent __attribute__((malloc)) in Clang), and this is a stronger guarantee than that provided by restrict (because it is a property of the pointed-to memory region, not just a guarantee on object access). Clarifying this is relevant to fixing (and was motivated by the discussion on) PR21556. llvm-svn: 222497
* Ensure llvm-sanitizer is found by the tests when using sanitizers.Eric Fiselier2014-11-211-6/+22
| | | | llvm-svn: 222496
* Rename lldb registers to contain lldb_ prefix.Zachary Turner2014-11-216-795/+796
| | | | | | | | | | | | | | | | | | | | LLDB supports many different register numbering schemes, and these are typically prefixed with an indicator that lets the user know what numbering scheme is used. The gcc numbering scheme is prefixed with gcc, and there are similar ones for dwarf, gdb, and gcc_dwarf. LLDB also contains its own internal numbering scheme, but the enum for LLDB's numbering scheme was prefixed differently. This patch changes the names of these enums to use the same naming scheme for the enum values as the rest of the register kinds by removing gpr_ and fpu_ prefixes, and instead using lldb_ prefixes for all enum values. Differential Revision: http://reviews.llvm.org/D6351 Reviewed by: Greg Clayton llvm-svn: 222495
* [MCJIT] Remove JITEventListener::NotifyFreeingMachineCode. This method is deadLang Hames2014-11-213-32/+0
| | | | | | now that the old JIT has been removed. llvm-svn: 222494
* [libcxxabi] Cleanup memory in tests to placate ASAN.Eric Fiselier2014-11-213-12/+15
| | | | | | | | | | | | | | Summary: ASAN fires on these tests because they don't clean up their memory. Reviewers: danalbert, jroelofs, mclow.lists Reviewed By: jroelofs Subscribers: dblaikie, cfe-commits Differential Revision: http://reviews.llvm.org/D6281 llvm-svn: 222493
* Add more REQUIRES: LOCALE.* to tests.Dan Albert2014-11-2112-0/+24
| | | | llvm-svn: 222492
* Add curly braces to workaround an MSVC bug.Zachary Turner2014-11-211-1/+3
| | | | | | MSVC can't parse this pattern for range-based for loops. llvm-svn: 222491
* relax this testcase to not depend on a specific alignment.Adrian Prantl2014-11-211-1/+1
| | | | llvm-svn: 222490
* [X86] Do not custom lower UINT_TO_FP when the target type does notQuentin Colombet2014-11-212-0/+16
| | | | | | | | match the custom lowering. <rdar://problem/19026326> llvm-svn: 222489
* Verifier: Check that all instructions have their parent pointers set upAdrian Prantl2014-11-211-0/+4
| | | | | | | correctly. This helps with catching problems caused by IRBuilder abuse such as the one fixed in CFE r222487. llvm-svn: 222488
* Debug info for blocks: Fix a bug caught by the Verifier.Adrian Prantl2014-11-214-5/+37
| | | | | | | | | | | | When emitting nested block definitions, the insert-at-point variant of DIBuilder::insertDeclare() could be called with the insertion point set to the end-of-BasicBlock sentinel, causing the parent pointer of the CallInst to be set to the intentionally bogus value of the sentinel. Fixed by conditionally invoking the correct version of insertDeclare(). rdar://problem/19034882 llvm-svn: 222487
* Move ASan non-Linux-specific tests out of the Linux/ directoryKuba Brecka2014-11-2111-0/+0
| | | | | | Reviewed at http://reviews.llvm.org/D6244 llvm-svn: 222486
* DebugInfo: Fix another case of r222377 when we do have a definition of the ↵David Blaikie2014-11-212-11/+24
| | | | | | variable, but we might not be emitting it (such as templates) llvm-svn: 222485
* Add a test for the driver's "-k" option.Jim Ingham2014-11-211-1/+3
| | | | llvm-svn: 222484
* [PECOFF] Enable dead-stripping even if /debug option is given.Rui Ueyama2014-11-202-3/+4
| | | | | | | | | | | | | | | | | | /debug makes MSVC link.exe to not remove unused sections from the resulting executable. We did the same thing before. However, I realized that the removal of associative section depends on the dead-stripping pass in LLD, so we cannot disable that. Or LLD may produce slightly broken executables that have too much data in it (which could result in nasty subtle bugs). This patch is a temporary measure to create correct executable. Currently /debug does not have any real effect for LLD anyway. I'll improve associative section handling in another patch, so that they are removed from output without depending on the dead-stripping pass. llvm-svn: 222483
* Remove code that tries to avoid transforming non-dependent call operator typesRichard Smith2014-11-202-78/+29
| | | | | | | | | | for lambda expressions. That can't ever work; we need to transform the parameters in order to create new ones in the new call operator context. Fixes a rejects-valid when transforming a context containing a lambda-expression that uses its function parameters in C++14 mode. llvm-svn: 222482
* Fix more instances of -Wsentinel on Windows with s/NULL/nullptr/Reid Kleckner2014-11-204-5/+5
| | | | | | Follow up to r221940, where I must not have caught em all. NFC llvm-svn: 222481
* Add out of line virtual destructors to all LLVMTargetMachine subclassesReid Kleckner2014-11-2022-3/+37
| | | | | | | | | | | | | | | | | These recently all grew a unique_ptr<TargetLoweringObjectFile> member in r221878. When anyone calls a virtual method of a class, clang-cl requires all virtual methods to be semantically valid. This includes the implicit virtual destructor, which triggers instantiation of the unique_ptr destructor, which fails because the type being deleted is incomplete. This is just part of the ongoing saga of PR20337, which is affecting Blink as well. Because the MSVC ABI doesn't have key functions, we end up referencing the vtable and implicit destructor on any virtual call through a class. We don't actually end up emitting the dtor, so it'd be good if we could avoid this unneeded type completion work. llvm-svn: 222480
* Make the option parsing of -k & -K match the help strings.Jim Ingham2014-11-201-2/+2
| | | | llvm-svn: 222479
* Remove duplicated enum, use the authoritative one.Zachary Turner2014-11-201-275/+2
| | | | | | | | | Running a diff against lldb-x86-register-enums.h and the file modified in this patch, the two enums were completely identical. Deleting one of them to reduce code noise. llvm-svn: 222478
* Move test from r222476 to a better place; this was reduced to the point that itRichard Smith2014-11-202-7/+7
| | | | | | no longer contained a generic lambda. llvm-svn: 222477
* Fix crash-on-valid if a lambda-expression appears lexically directly within aRichard Smith2014-11-202-1/+11
| | | | | | local class inside a template. llvm-svn: 222476
* Update Makefile following directory removal in r222466Mehdi Amini2014-11-201-1/+1
| | | | llvm-svn: 222475
* [ProcessWindows] Implement a RegisterContextWindows for x86.Zachary Turner2014-11-206-11/+460
| | | | | | | | | | | | | | | This implements the skeleton of a RegisterContext for Windows. In particular, this implements support only for x86 general purpose registers. After this patch, LLDB on Windows can perform basic debugging operations in a single-threaded inferior process (breakpoint, register inspection, frame select, unwinding, etc). Differential Revision: http://reviews.llvm.org/D6322 Reviewed by: Greg Clayton llvm-svn: 222474
* Intercept __crt_va_* used by MSVC "14"Reid Kleckner2014-11-201-0/+16
| | | | | | | Moving further into the implementor's namespace is good, but now we have one more name to intercept. llvm-svn: 222473
* SimplifyCFG: Refactor GatherConstantCompares() result in a structMehdi Amini2014-11-201-133/+152
| | | | | | | | | | Code seems cleaner and easier to understand this way This is basically r222416, after fixes for MSVC lack of standard support, and a few cleaning (got rid of a warning). Thanks Nakamura Takumi and Nico Weber for the MSVC fixes. llvm-svn: 222472
* PR21565: Further refine the conditions for enabling eager parsing ofRichard Smith2014-11-203-19/+61
| | | | | | | | std::X::swap exception specifications (allowing parsing of non-conforming code in libstdc++). The old conditions also matched the functions in MSVC's STL, which were relying on deferred parsing here. llvm-svn: 222471
* [Mips] Simplify the code calculates HI16/LO16 relocationsSimon Atanasyan2014-11-201-15/+3
| | | | | | No functional changes. llvm-svn: 222470
* [Mips] Remove duplicated relocation calculation routinesSimon Atanasyan2014-11-201-20/+8
| | | | | | No functional changes. llvm-svn: 222469
* [Mips] Remove unused function argumentSimon Atanasyan2014-11-201-2/+2
| | | | | | No functional changes. llvm-svn: 222468
* [Mips] Use endian::read/write function to load/save MIPS32 instructionsSimon Atanasyan2014-11-201-39/+41
| | | | | | No functional changes. llvm-svn: 222467
* [Hexagon] [NFC] Deleting empty directory.Colin LeMahieu2014-11-200-0/+0
| | | | llvm-svn: 222466
* Ensure all TypoExprs are diagnosed by the tree transform.Kaelyn Takata2014-11-203-1/+23
| | | | | | | | | | | | If there is more than one TypoExpr within the expr being transformed and any but the last TypoExpr seen don't have any viable candidates, the tree transform will be aborted early and the remaining TypoExprs are never seen and hence never diagnosed. This adds a simple RecursiveASTVisitor to find all of the TypoExprs to be diagnosed in the case where typo correction of the entire expr fails (and the result of the tree transform is an ExprError). llvm-svn: 222465
* Wire up delayed typo correction to DiagnoseEmptyLookup and set upKaelyn Takata2014-11-2015-49/+197
| | | | | | | | | Sema::ActOnIdExpression to use the new functionality. Among other things, this allows recovery in several cases where it wasn't possible before (e.g. correcting a mistyped static_cast<>). llvm-svn: 222464
* Add a flag to BuildDeclarationNameExpr to not reject invalid decls.Kaelyn Takata2014-11-203-10/+14
| | | | llvm-svn: 222463
* Factor out the default recovery handling.Kaelyn Takata2014-11-201-14/+77
| | | | | | | | | | | The default handling is extended to properly create member expressions and Objective-C ivar references. Also detect and reject cases where multiple corrections have identical correction distances and are valid, instead of suggesting the first one that is found. llvm-svn: 222462
* Add a few small helper methods to the TypoCorrectionConsumer.Kaelyn Takata2014-11-201-0/+15
| | | | llvm-svn: 222461
* Correctly set the SourceRange a TypoCorrection will replace.Kaelyn Takata2014-11-202-7/+8
| | | | | | Also clean up TypoCorrection::setCorrectionRange while we're at it. llvm-svn: 222460
* "nexti" should not step over inlined functions.Jim Ingham2014-11-201-1/+28
| | | | | | <rdar://problem/16705325> llvm-svn: 222459
* [Hexagon] [NFC] Merging InstPrinter directory in to MCTargetDesc since they ↵Colin LeMahieu2014-11-2011-47/+6
| | | | | | have a circular dependency. llvm-svn: 222458
* [mach-o] fix whitespaceNick Kledzik2014-11-201-3/+3
| | | | llvm-svn: 222457
* The Syntax enumeration requires at least three bits to store all of its ↵Aaron Ballman2014-11-201-2/+2
| | | | | | | | | | values. Increase the number of bits for SyntaxUsed. Decrease the number of expression arguments allowed by a single bit so that the bit fields continue to add up to 32-bits evenly. There is no test for this fix because I could find no reasonable way to trigger a visible failure from it. Thanks to Doug Gregor for spotting this! llvm-svn: 222456
* [mach-o] use reference with "auto" to prevent copiesNick Kledzik2014-11-201-3/+3
| | | | | | Patch by Jean-Daniel Dupas llvm-svn: 222455
* [MCJIT] Remove JITEventListener::NotifyFunctionEmitted - this method is deadLang Hames2014-11-203-167/+0
| | | | | | now that the legacy JIT has been removed. llvm-svn: 222453
* [PECOFF] Sort export table properly.Rui Ueyama2014-11-202-6/+8
| | | | | | | | | | | | | | Export table entries need to be sorted in ASCII-betical order, so that the loader can find an entry for a function by binary search. We sorted the entries by its mangled names. That can be different from their exported names. As a result, LLD produces incorrect export table, from which the loader complains that a function that actually exists in a DLL cannot be found. This patch fixes that issue. llvm-svn: 222452
* Fix a trip-count overflow issue in LoopUnroll.Michael Zolotukhin2014-11-203-3/+42
| | | | | | | | | | | | Currently LoopUnroll generates a prologue loop before the main loop body to execute first N%UnrollFactor iterations. Also, this loop is used if trip-count can overflow - it's determined by a runtime check. However, we've been mistakenly optimizing this loop to a linear code for UnrollFactor = 2, not taking into account that it also serves as a safe version of the loop if its trip-count overflows. llvm-svn: 222451
* Remove decorator for FreeBSD test that now passesEd Maste2014-11-201-1/+0
| | | | llvm-svn: 222449
* Compilation test for PostOrderIterator.Michael Ilseman2014-11-202-0/+38
| | | | | | | | | If the template specialization for externally managed sets in PostOrderIterator call too far out of sync with each other, this unit test will fail to build. This is especially useful for developers who may not build Clang (the only in-tree user) every time. llvm-svn: 222447
* Update template specialization to reflect API changes.Michael Ilseman2014-11-201-2/+3
| | | | | | | | | po_iterator_storage's insertEdge was updated to reflect the API changes from many of our insert methods in r222334, however the template specialization for external storage was not updated. This updates the specialization. llvm-svn: 222446
* Bring PostOrderCFGView's insert API up to date with other API changes.Michael Ilseman2014-11-201-4/+4
| | | | | | | | r222334 updates LLVM data structure's insert API to return a pair. This change updates PostOrderCFGView accordingly, so that it can be used interchangably with other sets. llvm-svn: 222445
OpenPOWER on IntegriCloud