- Dec 08, 2013
-
-
Alp Toker authored
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
-
Alp Toker authored
llvm-svn: 196728
-
Rafael Espindola authored
llvm-svn: 196727
-
Reed Kotler authored
here is to make save/restore into variable number of argument instructions. llvm-svn: 196726
-
Tim Northover authored
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
-
Tim Northover authored
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
-
Faisal Vali authored
llvm-svn: 196723
-
Faisal Vali authored
argh! llvm-svn: 196722
-
Faisal Vali authored
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
-
Joerg Sonnenberger authored
architecture and PIC flag. llvm-svn: 196720
-
Michael Kuperstein authored
llvm-svn: 196719
-
Michael Kuperstein authored
llvm-svn: 196718
-
Rui Ueyama authored
llvm-svn: 196716
-
Rui Ueyama authored
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
-
Rui Ueyama authored
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
-
Duncan P. N. Exon Smith authored
No functionality change. Changing comments to match code. llvm-svn: 196713
-
Rafael Espindola authored
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
-
Mark Seaborn authored
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
-
Mark Seaborn authored
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
-
- Dec 07, 2013
-
-
Renato Golin authored
llvm-svn: 196669
-
Jakub Staszak authored
overall time of LLVM compilation by ~1%. llvm-svn: 196667
-
Faisal Vali authored
llvm-svn: 196664
-
Faisal Vali authored
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
-
Rafael Espindola authored
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
-
Benjamin Kramer authored
Add LLVM_OVERRIDE to make this a hard error in the future. llvm-svn: 196659
-
Benjamin Kramer authored
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
-
Alp Toker authored
assert(sanity()) reads so much better than preprocessor conditional blocks. llvm-svn: 196657
-
Alp Toker authored
Code in headers shouldn't be conditional on the build configuration. llvm-svn: 196656
-
Tobias Grosser authored
This includes isl commits b9c7b8c8c98a6722262f076b27f833a25b83f55d and 454621e935ff836361c77df436fbd7066c9d44e0 which fix PR18130. llvm-svn: 196655
-
NAKAMURA Takumi authored
llvm-svn: 196654
-
John Thompson authored
llvm-svn: 196648
-
Alp Toker authored
There was already a condition earlier in the function so just place the check there. Cleanup only. llvm-svn: 196647
-
Alp Toker authored
__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
-
NAKAMURA Takumi authored
llvm-svn: 196645
-
Argyrios Kyrtzidis authored
attribute is acceptable. llvm-svn: 196644
-
Andrew Trick authored
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
-
Richard Smith authored
instantiation appears in a non-enclosing namespace (the previous diagnostic talked about the C++98 rule even in C++11 mode). llvm-svn: 196642
-
Lang Hames authored
llvm-svn: 196641
-
Lang Hames authored
llvm-svn: 196640
-
Lang Hames authored
Patch by Andy Kaylor, with minor edits to resolve merge conflicts. llvm-svn: 196639
-