summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-format: (JavaScript) Don't crash on empty string literals.Daniel Jasper2014-01-312-4/+12
| | | | | | | Before, this would lead to a crash: f('', true); llvm-svn: 200540
* Add tests for ARM RT library nameRenato Golin2014-01-311-0/+19
| | | | llvm-svn: 200539
* ARM RT libs with generic nameRenato Golin2014-01-311-3/+12
| | | | llvm-svn: 200538
* [ASan] Run LSan for ASan unit tests only on 64-bit LinuxAlexey Samsonov2014-01-312-1/+3
| | | | llvm-svn: 200537
* Fix compilation: don't convert NULL to a pointer-incompatible type.Alexander Potapenko2014-01-311-2/+2
| | | | llvm-svn: 200536
* Make signal-related functions use __sanitizer_* structures instead of ↵Alexander Potapenko2014-01-316-37/+79
| | | | | | | | | | | __sanitizer_kernel_* ones. Also rename internal_sigaction() into internal_sigaction_norestorer(), as this function doesn't fully implement the sigaction() functionality on Linux. This change is a part of refactoring intended to have common signal handling behavior in all tools. llvm-svn: 200535
* tsan: fix Go buildDmitry Vyukov2014-01-312-2/+4
| | | | | | Go linker does not like function-static objects. llvm-svn: 200534
* [CMake] clang doesn't care whether CLANG_ENABLE_*(s) were set or not.NAKAMURA Takumi2014-01-311-21/+0
| | | | llvm-svn: 200533
* [CMake] Suppress SampleAnalyzerPlugin w/o ENABLE_STATIC_ANALYZER.NAKAMURA Takumi2014-01-311-0/+2
| | | | llvm-svn: 200532
* [CMake] Prune stray entries in add_dependencies(). target_link_libraries() ↵NAKAMURA Takumi2014-01-312-3/+0
| | | | | | implies it. llvm-svn: 200531
* [vectorizer] Tweak the way we do small loop runtime unrolling in theChandler Carruth2014-01-312-30/+64
| | | | | | | | | | | | | | loop vectorizer to not do so when runtime pointer checks are needed and share code with the new (not yet enabled) load/store saturation runtime unrolling. Also ensure that we only consider the runtime checks when the loop hasn't already been vectorized. If it has, the runtime check cost has already been paid. I've fleshed out a test case to cover the scalar unrolling as well as the vector unrolling and comment clearly why we are or aren't following the pattern. llvm-svn: 200530
* [sanitizer] update the list of supported platforms in the docsKostya Serebryany2014-01-313-8/+8
| | | | llvm-svn: 200529
* ARM & AArch64: unify the rest of the completely shared NEON implementationsTim Northover2014-01-311-22/+16
| | | | | | | | This should be the last routine patch: AArch64 does still delegate to EmitARMBuiltinExpr, but the remaining instances have complications of one sort or another so some more cunning thought will be needed. llvm-svn: 200528
* ARM & AArch64: another block of miscellaneous NEON sharing.Tim Northover2014-01-311-119/+83
| | | | llvm-svn: 200527
* ARM & AArch64: move shared vld/vst intrinsics to common implementation.Tim Northover2014-01-312-176/+147
| | | | llvm-svn: 200526
* ARM & AArch64: more instructions into common blockTim Northover2014-01-311-73/+52
| | | | llvm-svn: 200525
* ARM & AArch64: merge another NEON block completely.Tim Northover2014-01-311-236/+154
| | | | llvm-svn: 200524
* Remove default function template argument from the header.Logan Chien2014-01-311-99/+94
| | | | | | | | | | | GCC will treat the default function template arguments as a compilation error if C++0x is not enabled. This commit workaround the compilation error by moving the SFINAE check to function argument instead of the template argument. llvm-svn: 200523
* Separate x86 opcode maps and 0x66/0xf2/0xf3 prefixes from each other in the ↵Craig Topper2014-01-316-411/+288
| | | | | | TSFlags. This greatly simplifies the switch statements in the disassembler tables and the code emitters. llvm-svn: 200522
* [Sema] For -Wnon-literal-null-conversion warning, look through integer ↵Argyrios Kyrtzidis2014-01-312-1/+18
| | | | | | | | | | casts, which are used by some projects in their null macro. rdar://15925483 llvm-svn: 200521
* Move REP out of the Prefix field of the X86 format. Give it its own bit. It ↵Craig Topper2014-01-316-38/+39
| | | | | | had special handling anyway and this enables a future patch. llvm-svn: 200520
* MSVC2012 does not choose to use uint64_t as underlying type without this.Rui Ueyama2014-01-311-3/+3
| | | | | | | MSVC2012 seems to choose int as the underlying type for an enum even if one of its member is unsigned long long. llvm-svn: 200519
* [PECOFF] Set the correct PE header field value.Rui Ueyama2014-01-312-5/+6
| | | | | | | The charcateristics field should not have IMAGE_FILE_32BIT_MACHINE bit but have IMAGE_FILE_LARGE_ADDRESS_AWARE bit for PE32+. llvm-svn: 200518
* Move address override handling in X86CodeEmitter to a place where it works ↵Craig Topper2014-01-311-28/+28
| | | | | | for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. llvm-svn: 200517
* Move address override handling in X86MCCodeEmitter to a place where it works ↵Craig Topper2014-01-313-47/+50
| | | | | | for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. llvm-svn: 200516
* Fix a bug in gcov instrumentation introduced by r195513. <rdar://15930350>Bob Wilson2014-01-311-1/+8
| | | | | | | | | | The entry block of a function starts with all the static allocas. The change in r195513 splits the block before those allocas, which has the effect of turning them into dynamic allocas. That breaks all sorts of things. Change to split after the initial allocas, and also add a comment explaining why the block is split. llvm-svn: 200515
* [PECOFF] Do not emit a section if it's empty.Rui Ueyama2014-01-313-20/+4
| | | | | | | The PE32+ loader does not seem to like an executable with an empty section, so we should not emit a section if it's empty. llvm-svn: 200514
* [OPENMP] Bug fixes in threadprivate declaration and data sharing attributes ↵Alexey Bataev2014-01-312-36/+53
| | | | | | processing. (http://llvm-reviews.chandlerc.com/D2451) llvm-svn: 200513
* Replace magic numbers with enums.Rui Ueyama2014-01-312-2/+6
| | | | llvm-svn: 200512
* [PECOFF] Default image base address for PE32+ is 0x140000000, not 0x400000.Rui Ueyama2014-01-313-8/+15
| | | | llvm-svn: 200511
* Make x86 Android default target CPUs compatible with GCC ↵Alexey Bataev2014-01-312-5/+11
| | | | | | (http://llvm-reviews.chandlerc.com/D2655) llvm-svn: 200510
* [Sparc] Save and restore float registers that may be used for parameter passing.Venkatraman Govindaraju2014-01-311-2/+44
| | | | llvm-svn: 200509
* libclang/Makefile: Reorder libraries.NAKAMURA Takumi2014-01-311-3/+6
| | | | llvm-svn: 200508
* Driver: Don't use DOS style paths on UNIXDavid Majnemer2014-01-311-1/+1
| | | | | | | We'd add, as a fallback, DOS style paths when using the driver using a win32 triple. On a UNIX-like platform, this isn't particularly helpful. llvm-svn: 200507
* This patch teaches the DAGCombiner how to fold insert_subvector nodesManman Ren2014-01-312-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when the input is a concat_vectors and the insert replaces one of the concat halves: Lower half: fold (insert_subvector (concat_vectors X, Y), Z) -> (concat_vectors Z, Y) Upper half: fold (insert_subvector (concat_vectors X, Y), Z) -> (concat_vectors X, Z) This can be seen with the following IR: define <8 x float> @lower_half(<4 x float> %v1, <4 x float> %v2, <4 x float> %v3) { %1 = shufflevector <4 x float> %v1, <4 x float> %v2, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7> %2 = tail call <8 x float> @llvm.x86.avx.vinsertf128.ps.256(<8 x float> %1, <4 x float> %v3, i8 0) The vinsertf128 intrinsic is converted into an insert_subvector node in SelectionDAGBuilder.cpp. Using AVX, without the patch this generates two vinsertf128 instructions: vinsertf128 $1, %xmm1, %ymm0, %ymm0 vinsertf128 $0, %xmm2, %ymm0, %ymm0 With the patch this is optimized into: vinsertf128 $1, %xmm1, %ymm2, %ymm0 Patch by Robert Lougher. llvm-svn: 200506
* Fix autolinking when modules are imported in pch filesBen Langmuir2014-01-3111-35/+48
| | | | | | | | | | | | Add the ImportDecl to the set of interesting delcarations that are deserialized eagerly when an AST file is loaded (rather than lazily like most decls). This is required to get auto linking to work when there is no explicit import in the main file. Also resolve a FIXME to rename 'ExternalDefinitions', since that is only one of the things that need eager deserialization. The new name is 'EagerlyDeserializedDecls'. The corresponding AST bitcode is also renamed. llvm-svn: 200505
* Check curr_thread is not empty before accessing it.Jim Ingham2014-01-311-1/+1
| | | | | | <rdar://problem/15953271> llvm-svn: 200504
* DAGCombine should not produce ISD::OR nodes after operation legalization if ↵Owen Anderson2014-01-311-2/+4
| | | | | | they're not legal. llvm-svn: 200503
* PGO branch weight: update edge weights in SelectionDAGBuilder.Manman Ren2014-01-314-13/+100
| | | | | | | | | | | | | | | | When converting from "or + br" to two branches, or converting from "and + br" to two branches, we correctly update the edge weights of the two branches. The previous attempt at r200431 was reverted at r200434 because of two testing case failures. I modified my patch a little, but forgot to re-run "make check-all". Testing case CodeGen/ARM/lsr-unfolded-offset.ll is updated because of the patch's impact on branch probability which causes changes in spill placement. llvm-svn: 200502
* Allow speculating llvm.sqrt, fma and fmuladdMatt Arsenault2014-01-313-2/+67
| | | | | | | | This doesn't set errno, so this should be OK. Also update the documentation to explicitly state that errno are not set. llvm-svn: 200501
* Add a link to a bug to a couple of FIXMEsTimur Iskhodzhanov2014-01-301-1/+2
| | | | llvm-svn: 200500
* [CMake] llvm_update_compile_flags: Honor LLVM_COMPILE_FLAGS.NAKAMURA Takumi2014-01-301-5/+10
| | | | | | I accidentally mis-dropped LLVM_COMPILE_FLAGS in r200301. Sorry for that. llvm-svn: 200499
* HandleLLVMOptions.cmake: Typo in comment.NAKAMURA Takumi2014-01-301-1/+1
| | | | llvm-svn: 200498
* Introduce Parser::completeExpression.Peter Collingbourne2014-01-303-33/+171
| | | | | | | | | This function returns a list of completions for a given expression and completion position. Differential Revision: http://llvm-reviews.chandlerc.com/D2261 llvm-svn: 200497
* PR14995: Allow a dependent type as the second parameter of operator++ andRichard Smith2014-01-302-4/+58
| | | | | | | operator--, since it might instantiate as 'int' (or, if it's a pack, it might instantiate as an empty pack). llvm-svn: 200496
* [x86] Fix signed relocations for i64i32imm operandsDavid Woodhouse2014-01-306-55/+100
| | | | | | | | | These should end up (in ELF) as R_X86_64_32S relocs, not R_X86_64_32. Kill the horrid and incomplete special case and FIXME in EncodeInstruction() and set things up so it can infer the signedness from the ImmType just like it can the size and whether it's PC-relative. llvm-svn: 200495
* Don't produce a 'returning reference to local' warning if a lambda returns aRichard Smith2014-01-302-3/+28
| | | | | | | reference (or pointer) to a variable from the closure object or from the surrounding function scope. llvm-svn: 200494
* This file already has a "using namespace object;", use it.Rafael Espindola2014-01-301-22/+20
| | | | llvm-svn: 200493
* Revert "Fix assertion failures on annot_* tokens in clang -E"Ben Langmuir2014-01-305-20/+8
| | | | | | | This is causing a failure in the msan buildbot that I am having trouble reproducing. Reverting until I can figure out what went wrong. llvm-svn: 200492
* [AArch64] Custom lower concat_vector patterns with v4i16, v4i32, v8i8, ↵Chad Rosier2014-01-303-0/+153
| | | | | | v8i16, v16i8 types. llvm-svn: 200491
OpenPOWER on IntegriCloud