summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [C++11] Replace OwningPtr::take() with OwningPtr::release().Ahmed Charles2014-03-0543-117/+117
| | | | llvm-svn: 202957
* Add support for JIT debugging on Linux using the GDB JIT interface. Patch ↵Andrew MacPherson2014-03-0527-16/+1231
| | | | | | written with Keno Fischer. llvm-svn: 202956
* Test commit.Andrew MacPherson2014-03-051-1/+1
| | | | llvm-svn: 202955
* [CMake] Minor fix to llvm-config discoveryAlexey Samsonov2014-03-051-2/+2
| | | | llvm-svn: 202954
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-0587-300/+342
| | | | | | class. llvm-svn: 202953
* Disable BasicTests/VFS on win32 for now. Investigating.NAKAMURA Takumi2014-03-051-0/+2
| | | | | | | | | | | Failing Tests (5): Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.CaseInsensitive Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MappedFiles Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.MultiComponentPath Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.TrailingSlashes Clang-Unit :: Basic/BasicTests.exe/VFSFromYAMLTest.UseExternalName llvm-svn: 202952
* [-cxx-abi microsoft] Implement local manglings accuratelyDavid Majnemer2014-03-0518-202/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The MSVC ABI appears to mangle the lexical scope into the names of statics. Specifically, a counter is incremented whenever a scope is entered where things can be declared in such a way that an ambiguity can arise. For example, a class scope inside of a class scope doesn't do anything interesting because the nested class cannot collide with another nested class. There are problems with this scheme: - It is unreliable. The counter is only incremented when a previously never encountered scope is entered. There are cases where this will cause ambiguity amongst declarations that have the same name where one was introduced in a deep scope while the other was introduced right after in the previous lexical scope. - It is wasteful. Statements like: {{{{{{{ static int foo = a; }}}}}}} will make the mangling of "foo" larger than it need be because the scope counter has been incremented many times. Because of these problems, and practical implementation concerns. We choose not to implement this scheme if the local static or local type isn't visible. The mangling of these declarations will look very similar but the numbering will make far more sense, this scheme is lifted from the Itanium ABI implementation. Reviewers: rsmith, doug.gregor, rnk, eli.friedman, cdavis5x Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2953 llvm-svn: 202951
* Increase threshold in StackTrace::LocatePcInTraceAlexey Samsonov2014-03-051-1/+1
| | | | llvm-svn: 202950
* [C++11] Add release() to OwningPtr.Ahmed Charles2014-03-052-0/+20
| | | | | | | This will make the transition to unique_ptr easier by allowing more incremental changes. llvm-svn: 202949
* Adjust logic for 'objc_protocol_requires_explicit_implementation' for ↵Ted Kremenek2014-03-052-10/+92
| | | | | | | | | | | | | | | | | | | | | | | | inherited protocols and protocols already conformed in the class hierarchy. Per more discussion, 'objc_protocol_requires_explicit_implementation' is refinement that it mainly adds that requirement that a protocol must be explicitly satisfied at the moment the first class in the class hierarchy conforms to it. Any subclasses that also conform to that protocol, either directly or via conforming to a protocol that inherits that protocol, do not need to re-implement that protocol. Doing this requires first doing a pass on the super class hierarchy, gathering the set of protocols conformed to by the super classes, and then culling those out when determining conformance. This two-pass algorithm could be generalized for all protocol checking, and could possibly be a performance win in some cases. For now we restrict this change to protocols with this attribute to isolate the change in logic (especially as the design continues to evolve). This change needs to be adjusted for properties as well; this only impacts methods right now. llvm-svn: 202948
* tsan: add interceptors for pthread_spinlock_t and ptread_rwlock_t for ↵Dmitry Vyukov2014-03-051-7/+102
| | | | | | deadlock detector llvm-svn: 202947
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-0511-61/+62
| | | | | | class. llvm-svn: 202946
* [C++11] Add 'override' keyword to virtual methods that override their base ↵Craig Topper2014-03-0545-254/+252
| | | | | | class. llvm-svn: 202945
* [OPENMP] allow clause 'private' on directive 'omp simd'Alexey Bataev2014-03-053-11/+67
| | | | llvm-svn: 202944
* Make stackmap machineinstrs clobber the scratch regs too.Andrew Trick2014-03-052-6/+32
| | | | | | | | | | | | | Patchpoints already did this. Doing it for stackmaps is a convenience for the runtime in the event that it needs to scratch register to patch or perform a runtime call thunk. Unlike patchpoints, we just assume the AnyRegCC calling convention. This is the only language and target independent calling convention specific to stackmaps so makes sense. Although the calling convention is not currently used to select the scratch registers. llvm-svn: 202943
* [OPENMP] emit error message for clause 'if(1 0)'Alexey Bataev2014-03-052-4/+3
| | | | llvm-svn: 202942
* [AST] A "Class<P>" type should not have '*' when printed out.Argyrios Kyrtzidis2014-03-053-2/+15
| | | | | | rdar://14309030 llvm-svn: 202941
* [OPNEMP] Fixed instantiation of 'if' clauseAlexey Bataev2014-03-052-6/+17
| | | | llvm-svn: 202940
* [C++11] Add 'override' keyword to IR library.Craig Topper2014-03-0522-201/+206
| | | | llvm-svn: 202939
* Speculatively fix MSVC buildbotsDavid Majnemer2014-03-051-5/+9
| | | | llvm-svn: 202938
* [C++11] Add 'override' keywords to tablegen code.Craig Topper2014-03-056-420/+413
| | | | llvm-svn: 202937
* [C API] Implement LLVM{Get,Set}Alignment for AllocaInst.Peter Zotov2014-03-052-2/+10
| | | | | | Patch by Manuel Jacob. llvm-svn: 202936
* Remove unnecessary variables.Ahmed Charles2014-03-051-2/+2
| | | | | | Found self-hosting clang-cl on windows. :) llvm-svn: 202935
* Implement LWG #2212: std::is_final. This requires compiler support, which ↵Marshall Clow2014-03-053-2/+63
| | | | | | modern versions of clang provide. Also mark LWG #2230 as complete - no code changes needed. llvm-svn: 202934
* Small fix to ↵Jason Molenda2014-03-051-1/+1
| | | | | | | | DynamicLoaderDarwinKernel::KextImageInfo::LoadImageUsingMemoryModule needed with Greg's change to how we load modules in r202890. llvm-svn: 202933
* Fix unused variable in FunctionLoweringInfo.cppHans Wennborg2014-03-051-1/+1
| | | | llvm-svn: 202932
* Update synposis in <memory> to show move semantics for weak_ptr; add tests ↵Marshall Clow2014-03-056-4/+73
| | | | | | for already existing move semantics. Mark LWG issues #2315 (no changes needed), 2316 (move semantics for weak_ptr), 2252 (previous commit) and 2271 (previous commit) as complete. llvm-svn: 202931
* Check for dynamic allocas and inline asm that clobbers sp before buildingHans Wennborg2014-03-057-11/+91
| | | | | | | | | | | | | | | | | | | selection dag (PR19012) In X86SelectionDagInfo::EmitTargetCodeForMemcpy we check with MachineFrameInfo to make sure that ESI isn't used as a base pointer register before we choose to emit rep movs (which clobbers esi). The problem is that MachineFrameInfo wouldn't know about dynamic allocas or inline asm that clobbers the stack pointer until SelectionDAGBuilder has encountered them. This patch fixes the problem by checking for such things when building the FunctionLoweringInfo. Differential Revision: http://llvm-reviews.chandlerc.com/D2954 llvm-svn: 202930
* Change x86mmx -> x86_mmx in LangRef.rstReid Kleckner2014-03-051-7/+5
| | | | | | | | | | | The correct name of the type in LLVM assembly is "x86_mmx". Also remove the reST label "t_x86mmx" because it was unused anyway. Patch by Manuel Jacob! Differential Revision: http://llvm-reviews.chandlerc.com/D2955 llvm-svn: 202929
* C API: Add functions to get or set a GlobalValue's DLLStorageClassReid Kleckner2014-03-052-0/+18
| | | | | | Patch by Manuel Jacob! llvm-svn: 202928
* LangRef: Remove stale docs on LLVM types in module structureReid Kleckner2014-03-051-19/+10
| | | | | | | | | The distinction between "identified" and "literal" struct types is fully documented in a later section. Patch by Philip Reames! llvm-svn: 202927
* Make the DIEValue constructor even more explicit.Eric Christopher2014-03-051-6/+6
| | | | llvm-svn: 202926
* Merge using-decl-pr17575.cpp into existing test case.Peter Collingbourne2014-03-052-11/+6
| | | | llvm-svn: 202925
* Trivial test commit.Raul E. Silvera2014-03-051-0/+1
| | | | llvm-svn: 202924
* [C++11] Sink the iterator over a Value's users into the Value typeChandler Carruth2014-03-054-59/+60
| | | | | | | | | | | | | | itself and teach it to convert between the non-const and const variants. De-templatetize its usage in APIs to just use the const variant which always works for those use cases. Also, rename its implementation to reflect that it is an iterator over *users* not over *uses*. This is a step toward providing both iterator and range support for walking the *uses* distinct from the *users*. In a subsequent patch this will get renamed to make it clear that this is an adaptor over the fundamental use iterator. llvm-svn: 202923
* Add a test case for PR17575.Peter Collingbourne2014-03-051-0/+11
| | | | llvm-svn: 202922
* Use a bool for whether or not an abbreviation has children rather thanEric Christopher2014-03-053-16/+17
| | | | | | | using a full uint16_t with the flag value... which happens to be 0 or 1. Update the class for bool values and rename functions slightly. llvm-svn: 202921
* Use dwarf::Attribute instead of a bare uint16_t.Eric Christopher2014-03-052-2/+2
| | | | llvm-svn: 202920
* Expand slightly on comment.Eric Christopher2014-03-051-1/+2
| | | | llvm-svn: 202919
* Unindent namespace.Eric Christopher2014-03-051-414/+436
| | | | llvm-svn: 202918
* Update comment.Eric Christopher2014-03-051-1/+1
| | | | llvm-svn: 202917
* Partially roll back r202915.Rui Ueyama2014-03-051-2/+1
| | | | | | | I did not intend to cast a pointer to ulittle32_t there because the return type is const void*. llvm-svn: 202916
* Fix endianness bug.Rui Ueyama2014-03-051-3/+6
| | | | | | | | Looks like llvm-readobj is the only customer of this code, and apparently there's no test to cover this function. I'll write it after finishing plumbing from llvm-objdump to there. llvm-svn: 202915
* Allow constant folding of fma and fmuladdMatt Arsenault2014-03-052-0/+66
| | | | llvm-svn: 202914
* Fix duplicate code in ConstantFoldingMatt Arsenault2014-03-051-54/+33
| | | | llvm-svn: 202913
* [-Wunreachable-code] Don't warn about dead code guarded by a "configuration ↵Ted Kremenek2014-03-052-10/+97
| | | | | | | | | | | | | | | value". Some unreachable code is only "sometimes unreachable" because it is guarded by a configuration value that is determined at compile time and is always constant. Sometimes those represent real bugs, but often they do not. This patch causes the reachability analysis to cover such branches even if they are technically unreachable in the CFG itself. There are some conservative heuristics at play here to determine a "configuration value"; these are intended to be refined over time. llvm-svn: 202912
* Headers: Provide an ABI compatible max_align_t when _MSC_VER is definedDavid Majnemer2014-03-042-0/+9
| | | | | | | | | | | | | | | | Summary: Our usual definition of max_align_t wouldn't match up with MSVC if it was used in a template argument. Reviewers: chandlerc, rsmith, rnk Reviewed By: chandlerc CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2924 llvm-svn: 202911
* lldb-gdbserver: add support for optional host in connection string and ↵Todd Fiala2014-03-041-3/+22
| | | | | | | | | handle other startup errors. This change addresses the following bug: http://www.llvm.org/bugs/show_bug.cgi?id=18814 llvm-svn: 202910
* Remove some unnecessary qualificationDavid Blaikie2014-03-041-2/+2
| | | | llvm-svn: 202909
* [DAGCombiner] Factor out distributeTruncateThroughAndAdam Nemet2014-03-041-47/+42
| | | | | | | | | Currently this code is duplicated across visitSHL, visitSRA and visitSRL. The plan is to add rotates as clients to this new function. There is no functional change intended here. llvm-svn: 202908
OpenPOWER on IntegriCloud