| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before llvm-mc would print it, but llc was assuming that it would produce
another section changing directive before one was needed. That assumption is
false with inline asm.
Fixes PR19049.
Another option would be to always create the section, but in the asm printer
avoid printing sections changes during initialization. That would work, but
* We do use the fact that llvm-mc prints it in testing. The tests can be changed
if needed.
* A quick poll on IRC suggest that most developers prefer the implicit .text to
be printed.
llvm-svn: 203001
|
| |
|
|
| |
llvm-svn: 203000
|
| |
|
|
|
|
|
|
|
| |
When using a //net/ path, we were transforming the trailing / into a '.'
when the path was just the root path and we were iterating backwards.
Forwards iteration and other kinds of root path (C:\, /) were already
correct.
llvm-svn: 202999
|
| |
|
|
| |
llvm-svn: 202998
|
| |
|
|
| |
llvm-svn: 202997
|
| |
|
|
| |
llvm-svn: 202996
|
| |
|
|
| |
llvm-svn: 202995
|
| |
|
|
|
|
| |
explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it.
llvm-svn: 202994
|
| |
|
|
|
|
| |
Scope lives in Sema and cannot be used in AST. Shuffle things around.
llvm-svn: 202993
|
| |
|
|
|
|
| |
Originally committed in r202985.
llvm-svn: 202992
|
| |
|
|
| |
llvm-svn: 202991
|
| |
|
|
|
|
| |
should come from the C standard library. As a drive-by fix, update the tests to remove a warning from -Wabsolute-value
llvm-svn: 202990
|
| |
|
|
|
|
| |
(since clang-tblgen isn't long-lived, the old leak is probably acceptable, but it offended my senses nonetheless).
llvm-svn: 202989
|
| |
|
|
|
|
|
|
|
|
|
| |
The build was failing with:
error C2664: 'std::atomic_int::atomic_int(const std::atomic_int &)' : cannot convert argument 1 from 'int' to 'const std::atomic_int &'
Apparently "std::atomic_int x(0)" doesn't work, but "std::atomic<int> x(0)"
does.
llvm-svn: 202988
|
| |
|
|
|
|
| |
'error reading <file>'.
llvm-svn: 202987
|
| |
|
|
|
|
|
| |
Allow trivial read-only filesystems such as RealFileSystem to be shared
between threads.
llvm-svn: 202986
|
| |
|
|
| |
llvm-svn: 202985
|
| |
|
|
|
|
|
| |
A version of RefCountedBase that uses std::atomic_int to store its
reference count.
llvm-svn: 202984
|
| |
|
|
|
|
| |
name w/o file/line info
llvm-svn: 202983
|
| |
|
|
| |
llvm-svn: 202982
|
| |
|
|
| |
llvm-svn: 202981
|
| |
|
|
| |
llvm-svn: 202980
|
| |
|
|
| |
llvm-svn: 202979
|
| |
|
|
| |
llvm-svn: 202978
|
| |
|
|
| |
llvm-svn: 202977
|
| |
|
|
| |
llvm-svn: 202976
|
| |
|
|
|
|
|
| |
intercept pthread_cond (it is required to properly track state of mutexes)
detect cycles in mutex graph
llvm-svn: 202975
|
| |
|
|
|
|
| |
VPrintf uses common_flags()
llvm-svn: 202974
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 202972
|
| |
|
|
|
|
| |
MSVC2013's standard library is too broken to understand this pattern.
llvm-svn: 202971
|
| |
|
|
| |
llvm-svn: 202970
|
| |
|
|
| |
llvm-svn: 202969
|
| |
|
|
| |
llvm-svn: 202968
|
| |
|
|
|
|
| |
From Brad Smith.
llvm-svn: 202967
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 202964
|
| |
|
|
|
| |
Contributed-by: Michael Zolutukin <mzolotukhin@apple.com>
llvm-svn: 202963
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
implementation already lives.
llvm-svn: 202961
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 202957
|
| |
|
|
|
|
| |
written with Keno Fischer.
llvm-svn: 202956
|
| |
|
|
| |
llvm-svn: 202955
|
| |
|
|
| |
llvm-svn: 202954
|
| |
|
|
|
|
| |
class.
llvm-svn: 202953
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|