| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Use the same LaunchProcessPosixSpawn as on FreeBSD and Linux.
llvm-svn: 196742
|
| |
|
|
| |
llvm-svn: 196741
|
| |
|
|
| |
llvm-svn: 196740
|
| |
|
|
|
|
|
|
|
|
|
|
| |
VerifyDiagnosticConsumer is long-lived so the two additional members shouldn't
have any impact on release builds.
The clang headers are now free of NDEBUG conditionals. Let's keep it that way!
Note that they're not yet structurally stable, pending a few fixes in the LLVM
core headers.
llvm-svn: 196739
|
| |
|
|
|
|
|
| |
This should get it up and running on win and other builders without system
headers.
llvm-svn: 196738
|
| |
|
|
|
|
|
|
| |
Add -verify and update the test directives to match current expectations.
Also add a FIXME to an ObjC test that has expected-* directives but no -verify.
llvm-svn: 196737
|
| |
|
|
|
|
|
| |
Going by PR6913 it looks like this one can no longer reach CodeGen so remove
the redundant -emit-llvm case and treat it as an ordinary Sema test.
llvm-svn: 196736
|
| |
|
|
|
|
| |
This fixes PR18150.
llvm-svn: 196735
|
| |
|
|
|
|
| |
LLVM r196044 should make it pass.
llvm-svn: 196734
|
| |
|
|
|
|
|
|
| |
There's no evidence that a 'DISABLE' directive ever existed.
Let's see if anything breaks..
llvm-svn: 196733
|
| |
|
|
| |
llvm-svn: 196732
|
| |
|
|
|
|
| |
in the td file.
llvm-svn: 196731
|
| |
|
|
|
|
|
|
| |
These were being substituted into approximately the following:
clang -cc1 -internal-isystem ../lib/clang/3.5/include_only
llvm-svn: 196730
|
| |
|
|
|
|
|
|
| |
Due to a missing -verify, 2007-10-01-BuildArrayRef.c was a no-op.
The message was changed 5 years ago so also update the test to reflect the new wording.
llvm-svn: 196729
|
| |
|
|
| |
llvm-svn: 196728
|
| |
|
|
| |
llvm-svn: 196727
|
| |
|
|
|
|
| |
here is to make save/restore into variable number of argument instructions.
llvm-svn: 196726
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When trying to eliminate an "sub sp, sp, #N" instruction by folding
it into an existing push/pop using dummy registers, we need to account
for the fact that this might affect precisely how "fp" gets set in the
prologue.
We were attempting this, but assuming that *whenever* we performed a
fold it would make a difference. This is false, for example, in:
push {r4, r7, lr}
add fp, sp, #4
vpush {d8}
sub sp, sp, #8
we can fold the "sub" into the "vpush", forming "vpush {d7, d8}".
However, in that case the "add fp" instruction mustn't change, which
we were getting wrong before.
Should fix PR18160.
llvm-svn: 196725
|
| |
|
|
|
|
|
|
| |
We already support using "r" on 64-bit values (a GPRPair is
allocated), but Sema doesn't know this yet so issues a warning. This
should fix it.
llvm-svn: 196724
|
| |
|
|
| |
llvm-svn: 196723
|
| |
|
|
|
|
| |
argh!
llvm-svn: 196722
|
| |
|
|
|
|
| |
Add back the test that was triggering the assertion (which I removed mistakenly thinking it was triggering just a warning and not an assertion). My error was brought to my attention by Rafael (Thanks!).
llvm-svn: 196721
|
| |
|
|
|
|
| |
architecture and PIC flag.
llvm-svn: 196720
|
| |
|
|
| |
llvm-svn: 196719
|
| |
|
|
| |
llvm-svn: 196718
|
| |
|
|
| |
llvm-svn: 196716
|
| |
|
|
|
|
|
| |
Because compare() and its heper functions no longer have to be members of
LayoutPass class, we can remove it from the class. No functionality change.
llvm-svn: 196715
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The comparator used in the layout pass has many calls of map::find(). Because
std::sort runs the comparator N*log2(N) times, the maps are looked up with the
same key again and again. The map lookup is not a very fast operation. It made
the pass slow.
This patch eliminates the duplicate map lookups using decorate-sort-undecorate
idiom. The pass used to take 1.1 seconds when linking LLD with LLD on Windows,
but it now takes only 0.3 seconds. Overall performance gain in that case is from
6.1 seconds to 5.2 seconds.
Differential Revision: http://llvm-reviews.chandlerc.com/D2358
llvm-svn: 196714
|
| |
|
|
|
|
| |
No functionality change. Changing comments to match code.
llvm-svn: 196713
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang outputs LLVM one top level decl at a time. This combined with the
visibility computation code looking for the newest NamespaceDecl would cause
it to produce different results for nested namespaces.
The two options for producing consistent results are
* Delay codegen of anything inside a namespace until the end of the file.
* Don't look for the newest NamespaceDecl.
This patch implements the second option.
This matches the gcc behavior too.
llvm-svn: 196712
|
| |
|
|
|
|
|
| |
This fixes PR17872. This bug can lead to C++ destructors not being
called when they should be, when an exception is thrown.
llvm-svn: 196711
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this change, inlining one "invoke" into an outer "invoke" call
site can lead to the outer landingpad's catch/filter clauses being
copied multiple times into the resulting landingpad. This happens:
* when the inlined function contains multiple "resume" instructions,
because forwardResume() copies the clauses but is called multiple
times;
* when the inlined function contains a "resume" and a "call", because
HandleCallsInBlockInlinedThroughInvoke() copies the clauses but is
redundant with forwardResume().
Fix this by deduplicating the code.
This problem doesn't lead to any incorrect execution; it's only
untidy.
This change will make fixing PR17872 a little easier.
llvm-svn: 196710
|
| |
|
|
| |
llvm-svn: 196669
|
| |
|
|
|
|
| |
overall time of LLVM compilation by ~1%.
llvm-svn: 196667
|
| |
|
|
| |
llvm-svn: 196664
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Employed the following refactorings:
- Renamed some functions
- Introduced explaining variables
- Cleaned up & added comments
- Used Optional<unsigned> for return value instead of an out parameter
- Added assertions
- Constified a few member functions
No functionality change.
All regressions pass.
llvm-svn: 196662
|
| |
|
|
|
|
|
|
|
|
| |
They were out of place since the introduction of arbitrary precision integer
types.
This also synchronizes the documentation to Types.h, so it refers to first class
types and single value types.
llvm-svn: 196661
|
| |
|
|
|
|
| |
Add LLVM_OVERRIDE to make this a hard error in the future.
llvm-svn: 196659
|
| |
|
|
|
|
|
|
|
|
|
|
| |
vararg.
This can happen when we're trying to emit a thunk with available_externally
linkage with optimization enabled but bail because it doesn't make sense
for vararg functions.
PR18098.
llvm-svn: 196658
|
| |
|
|
|
|
| |
assert(sanity()) reads so much better than preprocessor conditional blocks.
llvm-svn: 196657
|
| |
|
|
|
|
| |
Code in headers shouldn't be conditional on the build configuration.
llvm-svn: 196656
|
| |
|
|
|
|
|
| |
This includes isl commits b9c7b8c8c98a6722262f076b27f833a25b83f55d and
454621e935ff836361c77df436fbd7066c9d44e0 which fix PR18130.
llvm-svn: 196655
|
| |
|
|
| |
llvm-svn: 196654
|
| |
|
|
|
|
| |
3-state enum.
llvm-svn: 196648
|
| |
|
|
|
|
|
|
|
| |
There was already a condition earlier in the function so just place the check
there.
Cleanup only.
llvm-svn: 196647
|
| |
|
|
|
|
|
|
|
|
|
|
| |
__builtin_types_compatible_p() isn't a C++ type trait at all, rather a GNU C
special-case, so it's fine to use BoolTy the default return type for binary
type traits.
This brings BTT in line with other arities that already default to BoolTy.
Cleanup only, no change in behaviour.
llvm-svn: 196646
|
| |
|
|
| |
llvm-svn: 196645
|
| |
|
|
|
|
|
|
| |
objc_designated_initializer
attribute is acceptable.
llvm-svn: 196644
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These helper classes take care of the book-keeping the drives the
GenericScheduler heuristics. It is likely that developers writing
target-specific schedulers that work similarly to GenericScheduler
will want to use these helpers too. The immediate goal is to develop a
GenericPostScheduler that can run in place of the old PostRAScheduler,
but will use the new machine model.
No functionality change intended.
llvm-svn: 196643
|
| |
|
|
|
|
|
| |
instantiation appears in a non-enclosing namespace (the previous diagnostic
talked about the C++98 rule even in C++11 mode).
llvm-svn: 196642
|