summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR19415: Converting 'constexpr' to 'const' in a non-static data member can failRichard Smith2014-04-142-9/+15
| | | | | | if the member is already 'const'. Don't assert in that case. llvm-svn: 206205
* PR19411: Walk lexical parents, not semantic parents, when determining whether aRichard Smith2014-04-142-1/+8
| | | | | | DeclContext is (lexically) within a C language linkage specification. llvm-svn: 206204
* Fix find command in test/Modules/prune.m broken by r206201Ben Langmuir2014-04-141-1/+1
| | | | llvm-svn: 206203
* Add clang:: qualifier back to ModuleBen Langmuir2014-04-141-1/+1
| | | | | | Apparently this was required by some compilers. llvm-svn: 206202
* Allow multiple modules with the same name to coexist in the module cacheBen Langmuir2014-04-1435-100/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To differentiate between two modules with the same name, we will consider the path the module map file that they are defined by* part of the ‘key’ for looking up the precompiled module (pcm file). Specifically, this patch renames the precompiled module (pcm) files from cache-path/<module hash>/Foo.pcm to cache-path/<module hash>/Foo-<hash of module map path>.pcm In addition, I’ve taught the ASTReader to re-resolve the names of imported modules during module loading so that if the header search context changes between when a module was originally built and when it is loaded we can rebuild it if necessary. For example, if module A imports module B first time: clang -I /path/to/A -I /path/to/B ... second time: clang -I /path/to/A -I /different/path/to/B ... will now rebuild A as expected. * in the case of inferred modules, we use the module map file that allowed the inference, not the __inferred_module.map file, since the inferred file path is the same for every inferred module. llvm-svn: 206201
* sanitizer_atomic_msvc.h: add atomic_fetch_{add,sub} overloads for uintptr_tHans Wennborg2014-04-141-0/+29
| | | | | | This should hopefully unbreak the MSVC build after r206178. llvm-svn: 206200
* sanitizer_deadlock_detector.h: MSVC 2012 doesn't like compound literalsHans Wennborg2014-04-141-5/+8
| | | | llvm-svn: 206199
* [ARM64] Port over missing subtarget features, and CPU definitions from AArch64.James Molloy2014-04-143-5/+52
| | | | llvm-svn: 206198
* [ARM64] Add big endian target arm64_be.James Molloy2014-04-142-2/+11
| | | | llvm-svn: 206197
* Replace two calls to object::symbol_iterator::increment(), which hadKaelyn Takata2014-04-141-10/+4
| | | | | | been removed in r200442. llvm-svn: 206196
* Remove a variable from r206192 that is only used in an assert.Kaelyn Takata2014-04-141-2/+2
| | | | llvm-svn: 206195
* Fix a bug in which BranchProbabilityInfo wasn't setting branch weights of ↵Akira Hatanaka2014-04-144-22/+84
| | | | | | | | | | | | basic blocks inside loops correctly. Previously, BranchProbabilityInfo::calcLoopBranchHeuristics would determine the weights of basic blocks inside loops even when it didn't have enough information to estimate the branch probabilities correctly. This patch fixes the function to exit early if it doesn't see any exit edges or back edges and let the later heuristics determine the weights. This fixes PR18705 and <rdar://problem/15991090>. Differential Revision: http://reviews.llvm.org/D3363 llvm-svn: 206194
* Fix 2008-03-05-SxtInRegBug.ll so that the CHECK-NOT will not match the filename.Richard Trieu2014-04-141-0/+2
| | | | llvm-svn: 206193
* Fix up MCFixup::getAccessVariant to handle unary expressions.Kaelyn Takata2014-04-142-1/+9
| | | | | | | | | | | | This allows correct relocations to be generated for a symbolic address that is being adjusted by a negative constant. Since r204294, such expressions have triggered undefined behavior when LLVM was built without assertions. Credit goes to Rafael for this patch; I'm submitting it on his behalf as he is on vacation this week. llvm-svn: 206192
* Properly diagnose Microsoft __declspec attributes which have optional ↵Aaron Ballman2014-04-142-2/+19
| | | | | | | | | | argument lists when the arguments are elided. eg) __declspec(deprecated()) // error __declspec(deprecated) // OK __declspec(deprecated("")) // OK llvm-svn: 206191
* tools: fix heap-buffer-overrun detected via ASANSaleem Abdulrasool2014-04-142-0/+4
| | | | | | | | | | Once the auxiliary fields relating to the filename have been inspected, any following auxiliary fields need not be visited as they have been consumed (the following fields comprise the filepath as a single unit). Adjust the test to catch this even if ASAN is not enabled. llvm-svn: 206190
* OnDiskHashTable: Make the iterable version separate.Justin Bogner2014-04-146-32/+70
| | | | | | | | | | | | | | | Currently the on disk hash table's key_iterator and data_iterator make the assumption that the table data starts exactly four bytes after the base of the table. This happens to be true for all of the tables we currently iterate over, but not for all of the OnDiskHashTables we currently use. For example, key_ and data_iterator would iterate over meaningless data if they were used on the hash tables in PTHLexer. We make the API safer by breaking this into two types. One doesn't have the iterators, and the other must be told where the payload starts. llvm-svn: 206189
* OnDiskHashTable: clang-format and consistent namingJustin Bogner2014-04-141-80/+83
| | | | | | | No functional change. Style cleanups in OnDiskChainedHashTable in preparation for some other changes here. llvm-svn: 206188
* [mips] Fix fcopysign for MIPS-IV and add the test.Daniel Sanders2014-04-143-1/+3
| | | | | | | | | | | | | | | Summary: This was another incorrect use of hasMips64() vs isGP64bit(). Depends on D3344 Reviewers: matheusalmeida, vmedic Reviewed By: vmedic Differential Revision: http://reviews.llvm.org/D3347 llvm-svn: 206187
* Properly diagnose standard C++ attributes which have optional argument lists ↵Aaron Ballman2014-04-146-21/+51
| | | | | | | | | | | when the arguments are elided. eg) [[deprecated()]] // error [[deprecated]] // OK [[deprecated("")]] // OK [[gnu::deprecated()]] // OK llvm-svn: 206186
* [mips] MIPS-IV is broadly the same as MIPS64 so duplicate all -mcpu=mips64 ↵Daniel Sanders2014-04-1421-9/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests with -mcpu=mips4 as a starting point Summary: Two exceptions to this: test/CodeGen/Mips/octeon.ll test/CodeGen/Mips/octeon_popcnt.ll these test extensions to MIPS64 One test is altered for MIPS-IV: test/CodeGen/Mips/mips64countleading.ll Tests dclo/dclz which were added in MIPS64. The MIPS-IV version tests that dclo/dclz are not emitted. Four tests fail and are not in this patch: test/CodeGen/Mips/abicalls.ll test/CodeGen/Mips/fcopysign-f32-f64.ll test/CodeGen/Mips/fcopysign.ll test/CodeGen/Mips/stack-alignment.ll Depends on D3343 Reviewers: matheusalmeida, vmedic Reviewed By: vmedic Differential Revision: http://reviews.llvm.org/D3344 llvm-svn: 206185
* Define a new macro in libc++ named '_LIBCPP_HAS_NO_ASAN'. When this is defined,Marshall Clow2014-04-141-0/+12
| | | | | | | | | | | | libc++ will not call address_sanitizer to detect addressing errors in the standard library containers. This is a negative macro to enable users to disable the libc++ checks even if they are compiling with address sanitizer enabled by defining this macro. At the present time, there is no code in libc++ that looks at this macro. That will come soon. This is just infrastructure. llvm-svn: 206184
* [mips] Fix more incorrect uses of HasMips64 and isMips64()Daniel Sanders2014-04-147-17/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - Conditional moves acting on 64-bit GPR's should require MIPS-IV rather than MIPS64 - ISD::MUL, and ISD::MULH[US] should be lowered on all 64-bit ISA's Patch by David Chisnall His work was sponsored by: DARPA, AFRL I've added additional testcases to cover as much of the codegen changes affecting MIPS-IV as I can. Where I've been unable to find an existing MIPS64 testcase that can be re-used for MIPS-IV (mainly tests covering ISD::GlobalAddress and similar), I at least agree that MIPS-IV should behave like MIPS64. Further testcases that are fixed by this patch will follow in my next commit. The testcases from that commit that fail for MIPS-IV without this patch are: LLVM :: CodeGen/Mips/2010-07-20-Switch.ll LLVM :: CodeGen/Mips/cmov.ll LLVM :: CodeGen/Mips/eh-dwarf-cfa.ll LLVM :: CodeGen/Mips/largeimmprinting.ll LLVM :: CodeGen/Mips/longbranch.ll LLVM :: CodeGen/Mips/mips64-f128.ll LLVM :: CodeGen/Mips/mips64directive.ll LLVM :: CodeGen/Mips/mips64ext.ll LLVM :: CodeGen/Mips/mips64fpldst.ll LLVM :: CodeGen/Mips/mips64intldst.ll LLVM :: CodeGen/Mips/mips64load-store-left-right.ll LLVM :: CodeGen/Mips/sint-fp-store_pattern.ll Reviewers: dsanders Reviewed By: dsanders CC: matheusalmeida Differential Revision: http://reviews.llvm.org/D3343 llvm-svn: 206183
* [asan] Fix mmap_limit_mb test to not use C++11.Evgeniy Stepanov2014-04-141-2/+3
| | | | llvm-svn: 206182
* [asan] Do not use lambda in sanitizer lit tests.Evgeniy Stepanov2014-04-141-2/+1
| | | | | | We may be building with a very old C++ library. llvm-svn: 206180
* [msan] Intercept wcsftime().Evgeniy Stepanov2014-04-142-5/+51
| | | | llvm-svn: 206179
* [asan] added internal flag mmap_limit_mbKostya Serebryany2014-04-147-0/+60
| | | | llvm-svn: 206178
* Teach llvm-lto to respect the given RelocModel.James Molloy2014-04-143-3/+21
| | | | | | Patch by Nick Tomlinson! llvm-svn: 206177
* Add support for named values in the parser.Samuel Benzaquen2014-04-1410-69/+175
| | | | | | | | | | | | Summary: Add support for named values in the parser. Reviewers: pcc CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D3276 llvm-svn: 206176
* ARM64: specify full triple in tests to pacify Windows.Tim Northover2014-04-1414-15/+15
| | | | llvm-svn: 206175
* AArch64: add newline to end of test files.Tim Northover2014-04-1411-11/+11
| | | | | | Should be no other change. llvm-svn: 206174
* clang-format: Fix regression caused by r206165.Daniel Jasper2014-04-142-1/+13
| | | | llvm-svn: 206173
* ARM64: remove buggy REV16 pattern.Tim Northover2014-04-142-3/+5
| | | | | | The 32-bit pattern is still valid: 0123 -> 3210 -> 1032. llvm-svn: 206172
* AArch64/ARM64: enable directcond.ll test on ARM64.Tim Northover2014-04-142-9/+16
| | | | | | | Code change is because optimizeCompareInstr didn't know how to pull the condition code out of FCSEL instructions. llvm-svn: 206171
* ARM64: add patterns for csXYZ with reversed operands.Tim Northover2014-04-142-8/+23
| | | | | | | AArch64 tests for this, and it's obviously a good idea. Have to invert the condition code, of course. llvm-svn: 206170
* ARM64: enable more regression tests from AArch64Tim Northover2014-04-1412-64/+106
| | | | llvm-svn: 206169
* ARM64: add support for AArch64's addsub_ext.llTim Northover2014-04-142-4/+5
| | | | | | | | | There was one definite issue in ARM64 (the off-by-1 check for whether a shift could be folded in) and one difference that is probably correct: ARM64 didn't fold nodes with multiple uses into the arithmetic operations unless optimising for code size. llvm-svn: 206168
* ARM64: optimise (cmp x, (sub 0, y)) to (cmn x, y).Tim Northover2014-04-142-11/+31
| | | | | | | This transformation is only valid when being used for an EQ or NE comparison since the flags change otherwise. llvm-svn: 206167
* ARM64: start porting regression test suite from AArch64Tim Northover2014-04-144-22/+31
| | | | llvm-svn: 206166
* clang-format: Fix incorrect &&-detection in macros.Daniel Jasper2014-04-142-0/+4
| | | | | | | | | | | | Before: #define A(a, b) (a &&b) After: #define A(a, b) (a && b) This fixes llvm.org/PR19343. llvm-svn: 206165
* Display the name of the project failing the url check in the release scriptArnaud A. de Grandmaison2014-04-141-1/+1
| | | | llvm-svn: 206164
* [XCore] Don't create invalid MKMSK instructions inside loadImmediate().Richard Osborne2014-04-142-6/+41
| | | | | | | | | | | | | | | | | Summary: Previously loadImmediate() would produce MKMSK instructions with invalid immediate values such as mkmsk r0, 9. Fix this by checking the mask size is valid. Reviewers: robertlytton Reviewed By: robertlytton CC: llvm-commits Differential Revision: http://reviews.llvm.org/D3289 llvm-svn: 206163
* clang-format: Improve array literal formatting fix in r206161.Daniel Jasper2014-04-142-7/+16
| | | | | | | Instead of choosing based on the number of elements, simply respect the user's choice of where to wrap array literals. llvm-svn: 206162
* clang-format: With ColumnLimit=0, keep short array literals on a line.Daniel Jasper2014-04-142-0/+15
| | | | | | | | | | | | | | | | Before: NSArray* a = [[NSArray alloc] initWithArray:@[ @"a" ] copyItems:YES]; After: NSArray* a = [[NSArray alloc] initWithArray:@[ @"a" ] copyItems:YES]; This fixed llvm.org/PR19080. llvm-svn: 206161
* [asan] don't use bool in public interface, make sure the interface headers ↵Kostya Serebryany2014-04-146-13/+16
| | | | | | are usable in plain C llvm-svn: 206160
* clang-format: Don't allow hanging indentation for operators on new linesDaniel Jasper2014-04-144-21/+52
| | | | | | | | | | | | | | | | Before: if (aaaaaaaa && bbbbbbbbbbbbbbb // need to wrap == cccccccccccccc) ... After: if (aaaaaaaa && bbbbbbbbbbbbbbb // need to wrap == cccccccccccccc) ... The same rule has already be implemented for BreakBeforeBinaryOperators set to false in r205527. llvm-svn: 206159
* [asan] provide better reports for cases where memcpy/etc get negative size ↵Kostya Serebryany2014-04-146-1/+30
| | | | | | parameter. Also fix a typo found by Tetsuo Kiso llvm-svn: 206158
* Format code around VCS conflict markers.Manuel Klimek2014-04-145-31/+224
| | | | | | | | | | | | | | | | | | | | | Now correctly formats: { int a; void f() { callme(some(parameter1, <<<<<<< text by the vcs parameter2), ||||||| text by the vcs parameter2), parameter3, ======= text by the vcs parameter2, parameter3), >>>>>>> text by the vcs otherparameter); } } llvm-svn: 206157
* Codegeneration: Free memory correctly when using -polly-vectorizer=pollyTobias Grosser2014-04-142-0/+22
| | | | | | | This fixes PR19421. Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> llvm-svn: 206156
* clang-format: Improve formatting of annotated variables.Daniel Jasper2014-04-142-6/+8
| | | | | | | | | | | | Before: bool aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa GUARDED_BY( aaaaaaaaaaaa) = aaaaaaaa::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; After: bool aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa GUARDED_BY(aaaaaaaaaaaa) = aaaaaaaa::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; llvm-svn: 206155
OpenPOWER on IntegriCloud