| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 215375
|
| |
|
|
| |
llvm-svn: 215374
|
| |
|
|
|
|
|
| |
This can easily arise when trying to assemble and ELF style .section
directive for a COFF object file.
llvm-svn: 215373
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clang used a custom implementation of lookup when handling designated
initializers. The custom code was not particularly optimized and relied
on standard lookup for typo-correction anyway.
This custom code has to go, it doesn't properly support MSVC-style
anonymous structs embedded inside other records; replace it with the
typo-correction path.
This has the side effect of speeding up semantic handling of the fields
for a designated initializer while simplifying the code at the same
time.
This fixes PR20573.
Differential Revision: http://reviews.llvm.org/D4839
llvm-svn: 215372
|
| |
|
|
|
|
| |
use microsoft's ABI
llvm-svn: 215371
|
| |
|
|
|
|
| |
In a Clang bootstrap, the size of this vector was always 11.
llvm-svn: 215370
|
| |
|
|
|
|
|
|
| |
Generic_GCC::GCCInstallationDetector::init
In a bootstrap build of Clang, the size was always greater than 12.
llvm-svn: 215369
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in Clang. Reject other values.
Summary:
Just like with -finput-charset=UTF-8 in review http://reviews.llvm.org/D4347, I think we should just ignore it when UTF-8 is provided.
Reviewers: rnk, rafael
Reviewed By: rafael
Subscribers: rafael, cfe-commits
Differential Revision: http://reviews.llvm.org/D4841
llvm-svn: 215368
|
| |
|
|
|
|
|
|
| |
* transfered => transferred
* unkown => unknown
* sucessfully => successfully
llvm-svn: 215367
|
| |
|
|
|
|
|
| |
* libaries => libraries
* avaiable => available
llvm-svn: 215366
|
| |
|
|
| |
llvm-svn: 215365
|
| |
|
|
|
|
|
| |
Fixes linking bitcode files that use the new style comdats for constructors
with ones that don't.
llvm-svn: 215364
|
| |
|
|
| |
llvm-svn: 215363
|
| |
|
|
|
|
| |
In a Clang bootstrap build, the size was always at least 9.
llvm-svn: 215362
|
| |
|
|
|
|
|
|
| |
assembler directives
It seems to cause an lld test (elf/Mips/hilo16-3.test) to fail. Reverted while we investigate.
llvm-svn: 215361
|
| |
|
|
|
|
|
|
| |
In a Clang bootstrap, this vector always held 129 elements.
Also switch to a range-based for loop.
llvm-svn: 215360
|
| |
|
|
|
|
|
|
| |
Patch by Matheus Almeida and Toma Tabacu
Differential Revision: http://reviews.llvm.org/D4179
llvm-svn: 215359
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Okay, so this actually does more than just that. I've rearranged most of
the information on the page to try to make it more helpful and flow
better. Essentially, the differences between Mac and Linux, the various
ABI libraries, and in-tree versus out-of-tree builds were cluttering
things. To clean up, I've done the following:
* Only describe the cmake process. buildit doesn't work out of the box
on Linux, and we need to stop having duplicates for every process.
* Use libc++abi for the default instructions. This works on the major
platforms.
* Describe both in-tree and out-of-tree builds. Previously it wasn't
clear that in-tree builds were even possible for libc++.
* Separate the documentation about using libc++ from that about
building and testing libc++.
llvm-svn: 215358
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In cases like:
struct C { ~C(); }
void f(C c = C());
void t() {
f();
}
We currently do not add the CXXBindTemporaryExpr for the temporary (the
code mentions that as the default parameter expressions are owned by
the declaration, we'd otherwise add the same expression multiple times),
but we add the temporary destructor pointing to the CXXBindTemporaryExpr.
We need to fix that before we can re-enable the assertion.
llvm-svn: 215357
|
| |
|
|
|
|
|
| |
This makes the function type independent of the in-line size
of LocalMIs.
llvm-svn: 215356
|
| |
|
|
| |
llvm-svn: 215355
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
http://llvm.org/bugs/show_bug.cgi?id=20587
Added K&R style. It could be enabled by the following option:
```
BreakBeforeBraces: KernighanRitchie
```
This style is like `Attach`, but break *only* before function
declarations.
As I can see, no additional logic required to support this style, any
style different from other styles automagically satisfies K&R.
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D4837
llvm-svn: 215354
|
| |
|
|
|
|
|
|
| |
Otherwise, this can lead to compile failures if a user/subclass of
FrontendAction doesn't #include this file, even if CreateASTConsumer
isn't used directly.
llvm-svn: 215353
|
| |
|
|
|
|
|
|
|
| |
LLD needs them, and it's good to be able to print them properly when
our object dumpers encounter them.
Patch by Daniel Stewart.
llvm-svn: 215352
|
| |
|
|
| |
llvm-svn: 215351
|
| |
|
|
|
|
|
|
| |
The timestamp meant these files changed with each invocation of
relocs.py, confusing matters when we add relocations and need to
update the tests.
llvm-svn: 215350
|
| |
|
|
|
|
| |
Third time lucky. This should finally fix the ARM (& MIPS, I think) bots.
llvm-svn: 215349
|
| |
|
|
|
|
|
|
|
|
|
|
| |
convention
By default, LLVM uses the "C" calling convention for all runtime
library functions. The half-precision FP conversion functions use the
soft-float calling convention, and are needed for some targets which
use the hard-float convention by default, so must have their calling
convention explicitly set.
llvm-svn: 215348
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had two bugs:
- We wouldn't properly warn when a struct/union/enum was mentioned
inside of a record definition if no declarator was provided. We
should have mentioned that this declaration declares nothing.
- We didn't properly support Microsoft's extension where certain
declspecs without declarators would act as anonymous structs/unions.
* We completely ignored the case where such a declspec could be a
union.
* We didn't properly handle the case where a record was defined inside
another record:
struct X {
int a;
struct Y {
int b;
};
};
llvm-svn: 215347
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
unique_ptr around a non-owning raw_ostream in CodeGenAction::CreateASTConsumer"
It cannot be compiled on Visual Studio 2012.
clang\include\clang/Frontend/CompilerInstance.h(153):
error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>'
with
[
_Ty=llvm::raw_ostream
]
D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\memory(1447) : see declaration of 'std::unique_ptr<_Ty>::unique_ptr'
with
[
_Ty=llvm::raw_ostream
]
This diagnostic occurred in the compiler generated function 'clang::CompilerInstance::OutputFile::OutputFile(const clang::CompilerInstance::OutputFile &)'
llvm-svn: 215346
|
| |
|
|
| |
llvm-svn: 215345
|
| |
|
|
|
|
|
|
| |
be propagated to all its users, and this propagation could increase the
probability of finding common subexpressions. If the COPY has only one user,
the COPY itself can be removed.
llvm-svn: 215344
|
| |
|
|
|
|
|
|
|
| |
and the lattice will be updated to be a state other than "undefined". This
limiation could miss some opportunities of lowering "overdefined" to be an
even accurate value. So this patch ask the algorithm to try to lower the
lattice value again even if the value has been lowered to be "overdefined".
llvm-svn: 215343
|
| |
|
|
|
|
|
|
|
| |
(r215340)
This time, also update the function that receives a reference to the SmallPtrSet as
a parameter.
llvm-svn: 215342
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
That broke the build:
/data/buildslave/clang-amd64-freebsd/src-llvm/lib/CodeGen/PeepholeOptimizer.cpp:729:46: error: non-const lvalue reference to type 'SmallPtrSet<[...], 8>' cannot bind to a value of unrelated type 'SmallPtrSet<[...], 16>'
Changed |= optimizeExtInstr(MI, MBB, LocalMIs);
^~~~~~~~
/data/buildslave/clang-amd64-freebsd/src-llvm/lib/CodeGen/PeepholeOptimizer.cpp:265:49: note: passing argument to parameter 'LocalMIs' here
SmallPtrSet<MachineInstr*, 8> &LocalMIs) {
^
llvm-svn: 215341
|
| |
|
|
|
|
| |
During a Clang build, the median size of this was 9
llvm-svn: 215340
|
| |
|
|
|
|
| |
because some subtarget feature strings have three components.
llvm-svn: 215339
|
| |
|
|
|
|
| |
This SmallVector's median size during a Clang build was 7.
llvm-svn: 215338
|
| |
|
|
|
|
| |
In a Clang bootstrap, the median and max size was 9.
llvm-svn: 215337
|
| |
|
|
|
|
| |
In a Clang bootstrap, their sizes were always 12, 16 and 16, respectively.
llvm-svn: 215336
|
| |
|
|
|
|
| |
In a Clang bootstrap, the size of this vector was always 6.
llvm-svn: 215335
|
| |
|
|
|
|
| |
During a Clang bootstrap, it seems this SmallVector always contains 3 elements.
llvm-svn: 215334
|
| |
|
|
|
|
| |
During a bootstrap build of Clang, this SmallVector always held 14 elements.
llvm-svn: 215333
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external include guards.
Things done in this patch:
1. Make __debug include __config since it uses macros from it.
2. The current method of defining _LIBCPP_ASSERT is prone to redefinitions. Move
the null _LIBCPP_ASSERT definition into the __debug header to prevent this.
3. Remove external <__debug> include gaurds. <__debug> guards almost all of its
contents internally. There is no reason to be doing it externally.
This patch should not change any functionality.
llvm-svn: 215332
|
| |
|
|
|
|
| |
a non-owning raw_ostream in CodeGenAction::CreateASTConsumer
llvm-svn: 215331
|
| |
|
|
|
|
|
|
|
| |
Follow up to r214266. Add missing case in ScalarizeVectorResult() for
cttz_zero_undef.
Differential Revision: http://reviews.llvm.org/D4813
llvm-svn: 215330
|
| |
|
|
| |
llvm-svn: 215329
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ARM ARM states that CPSR may not be updated by a MUL in thumb mode. Due to
an ordering of Thumb 2 Size Reduction and If Conversion, we would end up
generating a THUMB MULS inside an IT block.
The If Conversion pass uses the TTI isPredicable method to ensure that it can
transform a Basic Block. However, because we only check for IT handling on
Thumb2 functions, we may miss some cases. Even then, it only validates that the
CPSR is not *live* rather than it is not accessed. This corrects the handling
for that particular case since the same restriction does not hold on the vast
majority of the instructions.
This does prevent the IfConversion optimization from kicking in in certain
cases, but generating correct code is more valuable. Addresses PR20555.
llvm-svn: 215328
|
| |
|
|
|
|
| |
that's causing GCC on some buildbots some confusion.
llvm-svn: 215327
|
| |
|
|
| |
llvm-svn: 215326
|