summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add some FIXMEs.Richard Smith2014-08-112-0/+4
| | | | llvm-svn: 215375
* Add missing test for r215031Reid Kleckner2014-08-111-0/+13
| | | | llvm-svn: 215374
* MC: Diagnose an unexpected token in COFF .section instead of assertingReid Kleckner2014-08-112-0/+7
| | | | | | | This can easily arise when trying to assemble and ELF style .section directive for a COFF object file. llvm-svn: 215373
* Sema: Properly perform lookup when acting on fields for desig initsDavid Majnemer2014-08-112-88/+37
| | | | | | | | | | | | | | | | | | | | 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
* Revert r215365 - Coverage mapping: emit mapping for cxx constructors that ↵Alex Lorenz2014-08-111-6/+1
| | | | | | use microsoft's ABI llvm-svn: 215371
* ToolChains.cpp: Increase size of Lines vector in DetectDistroHans Wennborg2014-08-111-1/+1
| | | | | | In a Clang bootstrap, the size of this vector was always 11. llvm-svn: 215370
* Increase the size of two SmallVectors in ↵Hans Wennborg2014-08-111-2/+2
| | | | | | | | Generic_GCC::GCCInstallationDetector::init In a bootstrap build of Clang, the size was always greater than 12. llvm-svn: 215369
* GCC compatibility: Ignore -fexec-charset=UTF-8 argument. It is the default ↵Sylvestre Ledru2014-08-113-2/+13
| | | | | | | | | | | | | | | | | | 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
* Fix some typos:Sylvestre Ledru2014-08-1114-17/+17
| | | | | | | | * transfered => transferred * unkown => unknown * sucessfully => successfully llvm-svn: 215367
* Fix typos:Sylvestre Ledru2014-08-117-7/+7
| | | | | | | * libaries => libraries * avaiable => available llvm-svn: 215366
* Coverage mapping: emit mapping for cxx constructors that use microsoft's ABIAlex Lorenz2014-08-111-1/+6
| | | | llvm-svn: 215365
* Fix use of uninitialized variable.Rafael Espindola2014-08-113-2/+26
| | | | | | | Fixes linking bitcode files that use the new style comdats for constructors with ones that don't. llvm-svn: 215364
* Use an early return. NFC.Rafael Espindola2014-08-111-8/+9
| | | | llvm-svn: 215363
* Increase the size of ToolChain::FilePathsHans Wennborg2014-08-111-1/+1
| | | | | | In a Clang bootstrap build, the size was always at least 9. llvm-svn: 215362
* Revert r215359 - [mips] Implement .ent, .end, .frame, .mask and .fmask ↵Daniel Sanders2014-08-115-369/+22
| | | | | | | | assembler directives It seems to cause an lld test (elf/Mips/hilo16-3.test) to fail. Reverted while we investigate. llvm-svn: 215361
* Increase SmallVector<> size in DiagnosticsEngine::setSeverityForGroupHans Wennborg2014-08-111-3/+3
| | | | | | | | In a Clang bootstrap, this vector always held 129 elements. Also switch to a range-based for loop. llvm-svn: 215360
* [mips] Implement .ent, .end, .frame, .mask and .fmask assembler directivesDaniel Sanders2014-08-115-22/+369
| | | | | | | | Patch by Matheus Almeida and Toma Tabacu Differential Revision: http://reviews.llvm.org/D4179 llvm-svn: 215359
* Update libc++ docs to include instructions for LIT.Dan Albert2014-08-111-80/+133
| | | | | | | | | | | | | | | | | | | 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
* Work around default parameter problem in the static analyzer.Manuel Klimek2014-08-112-4/+12
| | | | | | | | | | | | | | | | | 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
* PeepholeOptimizer: make parameter ref to SmallPtrSetImplHans Wennborg2014-08-111-2/+2
| | | | | | | This makes the function type independent of the in-line size of LocalMIs. llvm-svn: 215356
* Make this SmallVector size a power of two as suggested by ChandlerHans Wennborg2014-08-111-1/+1
| | | | llvm-svn: 215355
* Fixes bug 20587 - Add K&R break before braces styleRoman Kashitsyn2014-08-112-42/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Properly #include ASTConsumer.h instead of forward declaration.Daniel Jasper2014-08-111-1/+1
| | | | | | | | 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
* AArch64: add support for dynamic-loader relocationsTim Northover2014-08-115-1/+47
| | | | | | | | | 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
* AVX-512: added a missing bitcast from v16f32 to v16i32Elena Demikhovsky2014-08-111-0/+1
| | | | llvm-svn: 215351
* llvm-readobj: zero out timestamp in COFF auto-generated test files.Tim Northover2014-08-113-0/+4
| | | | | | | | 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
* llvm-objdump: fix remaining use of %x format specifier for 64-bit valuesTim Northover2014-08-111-1/+1
| | | | | | Third time lucky. This should finally fix the ARM (& MIPS, I think) bots. llvm-svn: 215349
* ARM: __gnu_h2f_ieee and __gnu_f2h_ieee always use the soft-float calling ↵Oliver Stannard2014-08-112-9/+22
| | | | | | | | | | | | 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
* Sema: Handle declspecs without declarators in records properly in C modeDavid Majnemer2014-08-116-21/+50
| | | | | | | | | | | | | | | | | | | | | 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
* Revert r215331, "unique_ptrify CompilerInstance::OutputFile(s) and remove a ↵NAKAMURA Takumi2014-08-113-27/+28
| | | | | | | | | | | | | | | | | | | | | 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
* Also build lldb-gdbserver under KFreeBSDSylvestre Ledru2014-08-111-1/+1
| | | | llvm-svn: 215345
* In Machine CSE pass, the source register of a COPY machine instruction canJiangning Liu2014-08-112-11/+64
| | | | | | | | 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
* In LVI(Lazy Value Info), originally value on a BB can only be caculated once,Jiangning Liu2014-08-112-2/+50
| | | | | | | | | 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
* Re-commit "Increase the size of this SmallVector in PeepholeOptimizer." ↵Hans Wennborg2014-08-111-3/+3
| | | | | | | | | (r215340) This time, also update the function that receives a reference to the SmallPtrSet as a parameter. llvm-svn: 215342
* Revert "Increase the size of this SmallVector in PeepholeOptimizer." (r215340)Hans Wennborg2014-08-111-1/+1
| | | | | | | | | | | | | 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
* Increase the size of this SmallVector in PeepholeOptimizer.Hans Wennborg2014-08-111-1/+1
| | | | | | During a Clang build, the median size of this was 9 llvm-svn: 215340
* SubTargetFeature.cpp: it seems the size of this SmallVector should be 3Hans Wennborg2014-08-111-1/+1
| | | | | | because some subtarget feature strings have three components. llvm-svn: 215339
* Increase the size of SpillPlacement::BlockFrequencies.Hans Wennborg2014-08-111-2/+2
| | | | | | This SmallVector's median size during a Clang build was 7. llvm-svn: 215338
* LegacyPassManagers.h: increase the size of PMDataManager::HigherLevelAnalysis.Hans Wennborg2014-08-111-1/+1
| | | | | | In a Clang bootstrap, the median and max size was 9. llvm-svn: 215337
* Increase the size of these SmallVectors in X86ISelLowering.cpp.Hans Wennborg2014-08-111-3/+3
| | | | | | In a Clang bootstrap, their sizes were always 12, 16 and 16, respectively. llvm-svn: 215336
* Increase the size of this SmallVector in CloneNodeWithValues.Hans Wennborg2014-08-111-1/+1
| | | | | | In a Clang bootstrap, the size of this vector was always 6. llvm-svn: 215335
* Increase the size of DwarfAccelTable::TableHeaderData::Atoms.Hans Wennborg2014-08-111-1/+1
| | | | | | During a Clang bootstrap, it seems this SmallVector always contains 3 elements. llvm-svn: 215334
* Increase the size of PMTopLevelManager::ImmutablePasses from 8 to 16.Hans Wennborg2014-08-111-1/+1
| | | | | | During a bootstrap build of Clang, this SmallVector always held 14 elements. llvm-svn: 215333
* NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove ↵Eric Fiselier2014-08-1011-26/+20
| | | | | | | | | | | | | | | | | | 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
* unique_ptrify CompilerInstance::OutputFile(s) and remove a unique_ptr around ↵David Blaikie2014-08-103-28/+27
| | | | | | a non-owning raw_ostream in CodeGenAction::CreateASTConsumer llvm-svn: 215331
* Add support for scalarizing cttz_zero_undefPetar Jovanovic2014-08-102-0/+38
| | | | | | | | | Follow up to r214266. Add missing case in ScalarizeVectorResult() for cttz_zero_undef. Differential Revision: http://reviews.llvm.org/D4813 llvm-svn: 215330
* fix stdio.h test to reflect removal of ::gets in c++14Eric Fiselier2014-08-101-0/+2
| | | | llvm-svn: 215329
* ARM: correct isPredicable for MULS in ThHUMB modeSaleem Abdulrasool2014-08-102-0/+39
| | | | | | | | | | | | | | | | | | 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
* Follow up to r215323 - avoid llvm::make_unique in this particular case ↵David Blaikie2014-08-101-3/+3
| | | | | | that's causing GCC on some buildbots some confusion. llvm-svn: 215327
* NFC. Remove trailing whitespace and tabs.Eric Fiselier2014-08-101-43/+43
| | | | llvm-svn: 215326
OpenPOWER on IntegriCloud