summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove alignment requirements from (V)EXTRACTPS. This instruction does ↵Craig Topper2012-12-261-2/+2
| | | | | | 32-bit stores which aren't required to be aligned on SSE or AVX. llvm-svn: 171080
* BBVectorize: Use VTTI to compute costs for intrinsics vectorizationHal Finkel2012-12-262-12/+143
| | | | | | | | | | | | For the time being this includes only some dummy test cases. Once the generic implementation of the intrinsics cost function does something other than assuming scalarization in all cases, or some target specializes the interface, some real test cases can be added. Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID in a few other places. llvm-svn: 171079
* Remove alignment requirement from VCVTSS2SD in folding tables. Reverting ↵Craig Topper2012-12-261-2/+2
| | | | | | r171049. This instruction doesn't require alignment. llvm-svn: 171078
* Use the most recent redecl to decide if it is needed.Rafael Espindola2012-12-262-1/+18
| | | | | | This fixes pr14691, which I think is a regression from r168519. llvm-svn: 171077
* LoopVectorize: Enable vectorization of the fmuladd intrinsicHal Finkel2012-12-252-0/+61
| | | | llvm-svn: 171076
* BBVectorize: Enable vectorization of the fmuladd intrinsicHal Finkel2012-12-252-0/+29
| | | | llvm-svn: 171075
* Produce an actual error before attempting to attach notes to it when bailing outRichard Smith2012-12-253-2/+9
| | | | | | due to FORCE_CLANG_DIAGNOSTICS_CRASH=1. Also add a test for that env var. llvm-svn: 171074
* Loosen scheduling restrictions on the PPC dcbt intrinsicHal Finkel2012-12-252-1/+24
| | | | | | | | | | | As with the prefetch intrinsic to which it maps, simply have dcbt marked as reading from and writing to its arguments instead of having unmodeled side effects. While this might cause unwanted code motion (because aliasing checks don't really capture cache-line sharing), it is more important that prefetches in unrolled loops don't block the scheduler from rearranging the unrolled loop body. llvm-svn: 171073
* Expand PPC64 atomic load and storeHal Finkel2012-12-252-0/+22
| | | | | | | | Use of store or load with the atomic specifier on 64-bit types would cause instruction-selection failures. As with the 32-bit case, these can use the default expansion in terms of cmp-and-swap. llvm-svn: 171072
* [msan] Improve recvfrom interceptor.Evgeniy Stepanov2012-12-253-1/+14
| | | | llvm-svn: 171071
* [msan] Fix handling of vectors of pointers.Evgeniy Stepanov2012-12-252-2/+22
| | | | | | | VectorType::getInteger() can not be used with them, because pointer size depends on the target. llvm-svn: 171070
* [msan] Fix handling of select with vector condition.Evgeniy Stepanov2012-12-252-2/+28
| | | | llvm-svn: 171069
* Fix for PR12222.Erik Verbruggen2012-12-2511-415/+469
| | | | | | | | Changed getLocStart() and getLocEnd() to be required for Stmts, and make getSourceRange() optional. The default implementation for getSourceRange() is build the range by calling getLocStart() and getLocEnd(). llvm-svn: 171067
* Harden test so it's not affected by changes to compare lowering.Benjamin Kramer2012-12-251-1/+1
| | | | | | This only failed on hosts that don't have SSE41. llvm-svn: 171066
* Add MSan unit tests to check-msan and check-all.Evgeniy Stepanov2012-12-253-2/+52
| | | | llvm-svn: 171065
* X86: Shave off one shuffle from the pcmpeqq sequence for SSE2 by making use ↵Benjamin Kramer2012-12-252-10/+6
| | | | | | of and commutativity. llvm-svn: 171064
* X86: Custom lower <2 x i64> eq and ne when SSE41 is not available.Benjamin Kramer2012-12-252-2/+50
| | | | | | | pcmpeqd, pshufd, pshufd, pand is cheaper than unpack + cmpq, sbbq, cmpq, sbbq + pack. Small speedup on loop-vectorized viterbi (-march=core2). llvm-svn: 171063
* MemorySanitizer unit tests.Evgeniy Stepanov2012-12-256-14/+1840
| | | | llvm-svn: 171062
* ASan: initialize callbacks from ASan module pass in a separate function for ↵Alexey Samsonov2012-12-251-21/+28
| | | | | | consistency llvm-svn: 171061
* ASan: move stack poisoning logic into FunctionStackPoisoner structAlexey Samsonov2012-12-251-190/+220
| | | | llvm-svn: 171060
* [msan] Fix header comments.Evgeniy Stepanov2012-12-253-3/+3
| | | | llvm-svn: 171059
* [asan] add a test for right OOB with special large sizes. Fix this test in ↵Kostya Serebryany2012-12-254-3/+25
| | | | | | asan_allocator2. More test tweaking for allocator2 llvm-svn: 171058
* tsan: fix tests to consistently use internal functions (otherwise it leads ↵Dmitry Vyukov2012-12-252-2/+3
| | | | | | to false positives) llvm-svn: 171057
* Add intel_ocl_bicc calling convention as a function attribute to clang. The ↵Guy Benyei2012-12-2514-4/+43
| | | | | | calling convention is already implemented in LLVM. llvm-svn: 171056
* [sanitizer] increase the maximum size class of the fast allocator. This ↵Kostya Serebryany2012-12-252-4/+7
| | | | | | should save quite a bit of memory in tsan/msan (and later in asan). This also puts more stress on the large allocator. Add a couple of checks llvm-svn: 171055
* tsan: fix the code that searches for heap memory block metadataDmitry Vyukov2012-12-251-2/+2
| | | | | | (the old code won't work with new allocator) llvm-svn: 171054
* Add 171048 back but invalidate the cache of all redeclarations when settingRafael Espindola2012-12-259-48/+90
| | | | | | | | | | | | | | | | | | the body of a functions. The problem was that hasBody looks at the entire chain and causes problems to -fvisibility-inlines-hidden if the cache was not invalidated. Original message: Cache visibility of decls. This unifies the linkage and visibility caching. I first implemented this when working on pr13844, but the previous fixes removed the performance advantage of this one. This is still a step in the right direction for making linkage and visibility cheap to use. llvm-svn: 171053
* [asan] properly define ASAN_LOW_MEMORY. Due to a mistake it has been always ↵Kostya Serebryany2012-12-252-3/+5
| | | | | | true causing redzone and quarantine sizes to be smaller than it was some time before (and out of sync with the documentation). Also make one test less greedy llvm-svn: 171052
* Fix whitespace. No functionality change.Nick Lewycky2012-12-251-2/+2
| | | | llvm-svn: 171051
* Revert r171048, "Cache visibility of decls."NAKAMURA Takumi2012-12-258-76/+48
| | | | | | It broke stage2. llvm-svn: 171050
* VCVTSS2SD requires a strict alignment. Thanks Elena.Nadav Rotem2012-12-251-2/+2
| | | | llvm-svn: 171049
* Cache visibility of decls.Rafael Espindola2012-12-258-48/+76
| | | | | | | | | | | This unifies the linkage and visibility caching. I first implemented this when working on pr13844, but the previous fixes removed the performance advantage of this one. This is still a step in the right direction for making linkage and visibility cheap to use. llvm-svn: 171048
* Rename LLVMContext diagnostic handler types and functions.Bob Wilson2012-12-255-41/+51
| | | | | | | | | These are now generally used for all diagnostics from the backend, not just for inline assembly, so this drops the "InlineAsm" from the names. No functional change. (I've left aliases for the old names but only for long enough to let me switch over clang to use the new ones.) llvm-svn: 171047
* [CMake] AddLLVM.cmake: Tweak the corner case that "check-all" doesn't have ↵NAKAMURA Takumi2012-12-241-5/+11
| | | | | | | | | | | any tests. "check-all" can be executed with 0 status, "check-all does nothing, no tools built." LLVM_EXTERNAL_CLANG_BUILD=OFF LLVM_BUILD_TOOLS=OFF can reproduce this. Oscar Fuentes reported this. Thank you. llvm-svn: 171046
* Simplify RUN lines. No functionality change.Nick Lewycky2012-12-241-2/+2
| | | | llvm-svn: 171045
* Quiet gcc's -Wparenthesis warning. No functionality change.Nick Lewycky2012-12-241-1/+1
| | | | llvm-svn: 171044
* Fix typo "Makre" -> "Make".Nick Lewycky2012-12-241-6/+4
| | | | llvm-svn: 171043
* Use a std::string rather than a dynamically allocated char* buffer.Benjamin Kramer2012-12-242-21/+6
| | | | | | | | | | | | | This affords us to use std::string's allocation routines and use the destructor for the memory management. Switching to that also means that we can use operator==(const std::string&, const char *) to perform the string comparison rather than resorting to libc functionality (i.e. strcmp). Patch by Saleem Abdulrasool! Differential Revision: http://llvm-reviews.chandlerc.com/D230 llvm-svn: 171042
* Add LLVMContext::emitWarning methods and use them. <rdar://problem/12867368>Bob Wilson2012-12-249-33/+78
| | | | | | | | | When the backend is used from clang, it should produce proper diagnostics instead of just printing messages to errs(). Other clients may also want to register their own error handlers with the LLVMContext, and the same handler should work for warnings in the same way as the existing emitError methods. llvm-svn: 171041
* Fix a typo introduced in r168577: FlAGS -> FLAGS (note the lowercase ell)Dmitri Gribenko2012-12-241-2/+2
| | | | | | Now we really pass -Wcovered-switch-default if the compiler supports it. llvm-svn: 171040
* Let clang-format format itself.Daniel Jasper2012-12-244-25/+23
| | | | | | | | Apply all formatting changes that clang-format would apply to its own source code. All choices seem to improve readability (or at least not make it worse). No functional changes. llvm-svn: 171039
* Penalize tokens with a lower parenthesis level than the start of the line.Daniel Jasper2012-12-242-3/+25
| | | | | | | | | | | | | | | | This prevents formattings like this (assuming "parameter" doesn't fit the line): bool f = someFunction() && someFunctionWithParam( parameter) && someOtherFunction(); Here, "parameter" - the start of line 2 - has a parenthesis level of 2, but there are subsequent tokens ("&&" and "someOtherFunction") with a lower level. This is bad for readability as "parameter" hides "someOtherFunction". With this patch, this changes to: bool f = someFunction() && someFunctionWithParam(parameter) && someOtherFunction(); llvm-svn: 171038
* AutoRegen.sh: update reference to documentationDmitri Gribenko2012-12-241-1/+1
| | | | llvm-svn: 171037
* [sanitizer] fix gcc warnings, enable one tests under asan_allocator2Kostya Serebryany2012-12-242-4/+2
| | | | llvm-svn: 171036
* [sanitizer] make LargeMmapAllocator::GetBlockBegin faster by not using a ↵Kostya Serebryany2012-12-242-28/+48
| | | | | | linked list llvm-svn: 171035
* tsan: work around FileCheck feature that it does not accept empty inputDmitry Vyukov2012-12-2412-4/+11
| | | | llvm-svn: 171034
* tsan: remove static reference to glibc internal _dl_get_tls_static_info()Dmitry Vyukov2012-12-241-9/+5
| | | | | | (this breaks RPM packages) llvm-svn: 171033
* Align RHS after assignments and return statements.Daniel Jasper2012-12-242-9/+46
| | | | | | | | | | | | | | | | This changes: int Result = a + // force break b; return Result + // force break 5; To: int Result = a + // force break b; return Result + // force break 5; llvm-svn: 171032
* [sanitizer] rework the size class map in the sanitizer allocator: make the ↵Kostya Serebryany2012-12-242-107/+150
| | | | | | differences between size classes more uniform. llvm-svn: 171031
* tsan: more defensive file descriptor verificationDmitry Vyukov2012-12-242-27/+34
| | | | | | to prevent assertion failures on code like "write(-1, ...)" llvm-svn: 171030
OpenPOWER on IntegriCloud