- Mar 05, 2014
-
-
Dmitry Vyukov authored
intercept pthread_cond (it is required to properly track state of mutexes) detect cycles in mutex graph llvm-svn: 202975
-
Dmitry Vyukov authored
VPrintf uses common_flags() llvm-svn: 202974
-
Tobias Grosser authored
The following changes have been applied: - Removed 'align 4'. We can simplify this away, as it does not provide useful information in the example. - Use named instructions instead of '%0'. This is nicer, but more importantly this makes the IR valid. Before we had two assignments to %0 in a single example. - Add a missing branch instruction to make the loop structure clear. - Move one access into outer.for.body to make it not look that empty. - The statments that are only in the outer loop body should not reference the inner loop metadata, but only the outer loop. Only statements in both loops should reference both surrounding loops. - Rename the array indexes to make them all independent. Before there were identical array indexes in the inner and the outer loop. We want to avoid this special case as it may lead to confusion. llvm-svn: 202973
-
Alexey Samsonov authored
llvm-svn: 202972
-
Benjamin Kramer authored
MSVC2013's standard library is too broken to understand this pattern. llvm-svn: 202971
-
Alexander Kornienko authored
llvm-svn: 202970
-
Alexander Kornienko authored
llvm-svn: 202969
-
Benjamin Kramer authored
llvm-svn: 202968
-
Joerg Sonnenberger authored
From Brad Smith. llvm-svn: 202967
-
Vladimir Medic authored
This patch implements .set dsp directive and sets appropriate feature bits.This directive is a counterpart of -mattr=dsp command line option with the exception that it does not influence elf header flags. The usage example is gives in test file. llvm-svn: 202966
-
Alexander Kornienko authored
llvm-svn: 202964
-
Tobias Grosser authored
Contributed-by:
Michael Zolutukin <mzolotukhin@apple.com> llvm-svn: 202963
-
David Majnemer authored
Use a scheme inspired by the Itanium ABI to properly implement the mangling of lambdas. N.B. The incredibly astute observer will notice that we do not generate external names that are identical, or even compatible with, MSVC. This is fine because they don't generate names that they can use across translation units. Technically, we can generate any name we'd like so long as that name wouldn't conflict with any other and would be stable across translation units. This fixes PR15512. llvm-svn: 202962
-
Chandler Carruth authored
implementation already lives. llvm-svn: 202961
-
Chandler Carruth authored
already lived there and it is where it belongs -- this is the in-memory debug location representation. This is just cleanup -- Modules can actually cope with this, but that doesn't make it right. After chatting with folks that have out-of-tree stuff, going ahead and moving the rest of the headers seems preferable. llvm-svn: 202960
-
Ahmed Charles authored
This will allow external callers of these functions to switch over time rather than forcing a breaking change all a once. These particular functions were determined by building clang/lld/lldb. llvm-svn: 202959
-
Chandler Carruth authored
to ensure we don't mess up any of the overrides. Necessary for cleaning up the Value use iterators and enabling range-based traversing of use lists. llvm-svn: 202958
-
Ahmed Charles authored
llvm-svn: 202957
-
Andrew MacPherson authored
Add support for JIT debugging on Linux using the GDB JIT interface. Patch written with Keno Fischer. llvm-svn: 202956
-
Andrew MacPherson authored
llvm-svn: 202955
-
Alexey Samsonov authored
llvm-svn: 202954
-
Craig Topper authored
llvm-svn: 202953
-
NAKAMURA Takumi authored
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
-
David Majnemer authored
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
-
Alexey Samsonov authored
llvm-svn: 202950
-
Ahmed Charles authored
This will make the transition to unique_ptr easier by allowing more incremental changes. llvm-svn: 202949
-
Ted Kremenek authored
Adjust logic for 'objc_protocol_requires_explicit_implementation' for 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
-
Dmitry Vyukov authored
llvm-svn: 202947
-
Craig Topper authored
llvm-svn: 202946
-
Craig Topper authored
llvm-svn: 202945
-
Alexey Bataev authored
llvm-svn: 202944
-
Andrew Trick authored
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
-
Alexey Bataev authored
llvm-svn: 202942
-
Argyrios Kyrtzidis authored
rdar://14309030 llvm-svn: 202941
-
Alexey Bataev authored
llvm-svn: 202940
-
Craig Topper authored
llvm-svn: 202939
-
David Majnemer authored
llvm-svn: 202938
-
Craig Topper authored
llvm-svn: 202937
-
Peter Zotov authored
Patch by Manuel Jacob. llvm-svn: 202936
-
Ahmed Charles authored
Found self-hosting clang-cl on windows. :) llvm-svn: 202935
-