summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [libsanitizer] Define SANITIZER_IOS when building for iOS or iOS simulator.Alexander Potapenko2013-10-314-3/+21
| | | | | | Do not use struct stat64 and struct statfs64 when building for iOS, where __DARWIN_ONLY_64_BIT_INO_T is set to 1. llvm-svn: 193775
* Remove unused diagnostic.Benjamin Kramer2013-10-311-2/+0
| | | | llvm-svn: 193774
* Cleanup: update comments.Manman Ren2013-10-311-1/+1
| | | | llvm-svn: 193773
* Fixes PR17148Marshall Clow2013-10-312-2/+8
| | | | llvm-svn: 193772
* Tls test fails on FreeBSD due to llvm.org/pr16696Ed Maste2013-10-311-0/+1
| | | | | | (Threaded inferior debugging not yet available on FreeBSD.) llvm-svn: 193771
* DWARFAbbreviationDeclaration: remove dead code, refactor parsing code and ↵Alexey Samsonov2013-10-313-75/+60
| | | | | | make it more robust. No functionality change. llvm-svn: 193770
* Lower stackmap intrinsics directly to their target opcode in the DAG builder.Andrew Trick2013-10-317-12/+246
| | | | llvm-svn: 193769
* Add Verifier test case for variable argument intrinsics.Andrew Trick2013-10-311-0/+16
| | | | llvm-svn: 193768
* Add experimental stackmap intrinsics to definition file and documenation.Andrew Trick2013-10-311-0/+13
| | | | llvm-svn: 193767
* Enable variable arguments support for intrinsics.Andrew Trick2013-10-315-4/+81
| | | | llvm-svn: 193766
* whitespaceAndrew Trick2013-10-315-71/+71
| | | | llvm-svn: 193765
* Delete unused private field to fix -Werror buildAlexey Samsonov2013-10-311-3/+0
| | | | llvm-svn: 193763
* Revert "[PECOFF] Add atoms to the PassManager file"Rui Ueyama2013-10-312-11/+17
| | | | | | | | | | | | | | | This reverts commit r193479. The atoms are already added to the file, so re-adding them caused the YAML writer to write the same atoms twice. That made the YAML reader to fail with "duplicate atom name" error. This is not the only error we've got for RoundTripYAMLPass for PECOFF, so we cannot enable the test yet. More fixes will come. Differential Revision: http://llvm-reviews.chandlerc.com/D2069 llvm-svn: 193762
* <rdar://problem/14496092>Greg Clayton2013-10-311-5/+18
| | | | | | Fixes from code review by Jim Ingham that reinstate preferring an external vs non-external symbol when finding function addresses. llvm-svn: 193761
* [msan] Intercept dlerror.Evgeniy Stepanov2013-10-312-0/+22
| | | | llvm-svn: 193760
* ObjectiveC migrator. Change naming hueristic forFariborz Jahanian2013-10-313-6/+20
| | | | | | | deprecated categories, fixes a typo reported by Jordan. llvm-svn: 193759
* [ASan] Make asan_symbolize.py fall back to ASAN_SYMBOLIZER_PATH (which is ↵Alexander Potapenko2013-10-311-2/+4
| | | | | | used when ASAN_OPTIONS=symbolize=1) if LLVM_SYMBOLIZER_PATH is empty. llvm-svn: 193758
* sizeof... a parameter pack should be an unevaluated context.Faisal Vali2013-10-311-0/+3
| | | | | | | | | - can't think of a way to test this without generic lambda captures, but will include a test once that patch is made commit-ready. patch was ok'd by Doug. http://llvm-reviews.chandlerc.com/D2029 llvm-svn: 193757
* Remove another unused flag.Rafael Espindola2013-10-312-9/+0
| | | | llvm-svn: 193756
* [msan] Disable mlock/mlockall to work around a linux kernel bug.Evgeniy Stepanov2013-10-312-0/+36
| | | | | | The same logic is present in ASan and TSan. llvm-svn: 193755
* s/_CLC_DECL/_CLC_DEF/Tom Stellard2013-10-312-14/+14
| | | | | | | | | Some function definitions were using _CLC_DECL, which meant that they weren't being marked as always_inline. Reviewed-by and Tested-by: Aaron Watry <awatry@gmail.com> llvm-svn: 193754
* R600: Set the noduplicate attribute on barrier() intrinsicsTom Stellard2013-10-313-19/+30
| | | | | | | | This will prevent LLVM optimization passes from creating illegal uses of the barrier() intrinsic (e.g. calling barrier() from a conditional that is not executed by all threads). llvm-svn: 193753
* Remove unused flag.Rafael Espindola2013-10-314-8/+0
| | | | llvm-svn: 193752
* Fixed bug with checking the kind of types.Chris Wailes2013-10-311-4/+8
| | | | | | | | | | | | | | The isLValueReferenceType function checks to see if the QualType's canonical type is an LValue reference, and not if the QualType itself is an LValue reference. This caused a segfault when trying to cast the QualType's Type to a LValueReference. This is now fixed by casting the result of getCanonicalType(). In addition, a test was added to isConsumableType to prevent segfaults when a type being tested by the analysis is a reference to a pointer or a pointer to a reference. llvm-svn: 193751
* Rules adjustments in order to build on DragonFly BSD.Rafael Espindola2013-10-313-6/+7
| | | | | | Patch by Robin Hahling. llvm-svn: 193750
* Remove the --shrink-wrap option.Rafael Espindola2013-10-314-1394/+69
| | | | | | It had no tests, was unused and was "experimental at best". llvm-svn: 193749
* Add AVX512 unmasked integer broadcast intrinsics and support.Cameron McInally2013-10-313-0/+50
| | | | llvm-svn: 193748
* AVX-512: Implemented CMOV for 512-bit vectorsElena Demikhovsky2013-10-313-2/+46
| | | | llvm-svn: 193747
* Fix comment. pp-trace can only handle source file at a time.John Thompson2013-10-311-1/+1
| | | | llvm-svn: 193746
* check-clang-tools: Add pp-trace for deps.NAKAMURA Takumi2013-10-311-0/+1
| | | | llvm-svn: 193745
* check-clang-tools: Reorder CLANG_TOOLS_TEST_DEPS.NAKAMURA Takumi2013-10-311-1/+5
| | | | llvm-svn: 193744
* pp-trace - preprocessor tacing and PPCallbacks testing toolJohn Thompson2013-10-3112-1/+1370
| | | | llvm-svn: 193743
* [SystemZ] Automatically detect zEC12 and z196 hostsRichard Sandiford2013-10-3123-45/+123
| | | | | | | | | | As on other hosts, the CPU identification instruction is priveleged, so we need to look through /proc/cpuinfo. I copied the PowerPC way of handling "generic". Several tests were implicitly assuming z10 and so failed on z196. llvm-svn: 193742
* Update comments to address Sebastian's reviewTobias Grosser2013-10-312-4/+15
| | | | llvm-svn: 193741
* [AArch64] Add some CPU targets for "generic", A-53 and A-57.Amara Emerson2013-10-315-0/+68
| | | | | | | | | | Enables the clang driver to begin targeting specific CPUs. Introduced a "generic" CPU which will ensure that the optional FP feature is enabled by default when it gets to LLVM, without needing any extra arguments. Cortex-A53 and A-57 are also introduced with tests, although backend handling of them does not yet exist. llvm-svn: 193740
* [AArch64] Make the use of FP instructions optional, but enabled by default.Amara Emerson2013-10-3124-40/+225
| | | | | | | This adds a new subtarget feature called FPARMv8 (implied by NEON), and predicates the support of the FP instructions and registers on this feature. llvm-svn: 193739
* llvm/test/Bitcode/invalid.ll: Tweak expresion to mach "llvm-dis.EXE:"NAKAMURA Takumi2013-10-311-1/+1
| | | | llvm-svn: 193738
* Fix a use after free on invalid input.Rafael Espindola2013-10-313-5/+8
| | | | llvm-svn: 193737
* Fix most memory leaks in tablegen.Rafael Espindola2013-10-311-11/+20
| | | | | | Found by the valgrind bot. llvm-svn: 193736
* Merge CallGraph and BasicCallGraph.Rafael Espindola2013-10-3111-203/+124
| | | | llvm-svn: 193734
* Updated llvm-cov's OVERVIEW descriptionYuchen Wu2013-10-311-1/+1
| | | | llvm-svn: 193732
* Factor out custom parsing for iboutletcollection and vec_type_hint attributesRichard Smith2013-10-3111-125/+90
| | | | | | | | | into a separate "parse an attribute that takes a type argument" codepath. This results in both codepaths being a lot cleaner and simpler, and fixes some bugs where the type argument handling bled into the expression argument handling and caused us to both accept invalid and reject valid attribute arguments. llvm-svn: 193731
* [sanitizer] Intercept getline, getdelim.Evgeniy Stepanov2013-10-316-0/+71
| | | | llvm-svn: 193730
* [ASan] Turn on (non-strict) initialization order checker by default for all ↵Alexey Samsonov2013-10-311-1/+1
| | | | | | ASan users llvm-svn: 193729
* Legalize: Improve legalization of long vector extends.Jim Grosbach2013-10-314-58/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an extend more than doubles the size of the elements (e.g., a zext from v16i8 to v16i32), the normal legalization method of splitting the vectors will run into problems as by the time the destination vector is legal, the source vector is illegal. The end result is the operation often becoming scalarized, with the typical horrible performance. For example, on x86_64, the simple input of: define void @bar(<16 x i8> %a, <16 x i32>* %p) nounwind { %tmp = zext <16 x i8> %a to <16 x i32> store <16 x i32> %tmp, <16 x i32>*%p ret void } Generates: .section __TEXT,__text,regular,pure_instructions .section __TEXT,__const .align 5 LCPI0_0: .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .long 255 ## 0xff .section __TEXT,__text,regular,pure_instructions .globl _bar .align 4, 0x90 _bar: vpunpckhbw %xmm0, %xmm0, %xmm1 vpunpckhwd %xmm0, %xmm1, %xmm2 vpmovzxwd %xmm1, %xmm1 vinsertf128 $1, %xmm2, %ymm1, %ymm1 vmovaps LCPI0_0(%rip), %ymm2 vandps %ymm2, %ymm1, %ymm1 vpmovzxbw %xmm0, %xmm3 vpunpckhwd %xmm0, %xmm3, %xmm3 vpmovzxbd %xmm0, %xmm0 vinsertf128 $1, %xmm3, %ymm0, %ymm0 vandps %ymm2, %ymm0, %ymm0 vmovaps %ymm0, (%rdi) vmovaps %ymm1, 32(%rdi) vzeroupper ret So instead we can check if there are legal types that enable us to split more cleverly when the input vector is already legal such that we don't turn it into an illegal type. If the extend is such that it's more than doubling the size of the input we check if - the number of vector elements is even, - the source type is legal, - the type of a split source is illegal, - the type of an extended (by doubling element size) source is legal, and - the type of that extended source when split is legal. If the conditions are met, instead of just splitting both the destination and the source types, we create an extend that only goes up one "step" (doubling the element width), and the continue legalizing the rest of the operation normally. The result is that this operates as a new, more effecient, termination condition for the loop of "split the operation until the destination type is legal." With this change, the above example now compiles to: _bar: vpxor %xmm1, %xmm1, %xmm1 vpunpcklbw %xmm1, %xmm0, %xmm2 vpunpckhwd %xmm1, %xmm2, %xmm3 vpunpcklwd %xmm1, %xmm2, %xmm2 vinsertf128 $1, %xmm3, %ymm2, %ymm2 vpunpckhbw %xmm1, %xmm0, %xmm0 vpunpckhwd %xmm1, %xmm0, %xmm3 vpunpcklwd %xmm1, %xmm0, %xmm0 vinsertf128 $1, %xmm3, %ymm0, %ymm0 vmovaps %ymm0, 32(%rdi) vmovaps %ymm2, (%rdi) vzeroupper ret This generalizes a custom lowering that was added a while back to the ARM backend. That lowering is no longer necessary, and is removed. The testcases for it, however, provide excellent ARM tests for this change and so remain. rdar://14735100 llvm-svn: 193727
* ObjectiveC migrator: annotate all protocols/methods inFariborz Jahanian2013-10-313-3/+122
| | | | | | | a category with NSxxxDeprecated name with deprecated annotation. // rdar://15337661 llvm-svn: 193726
* [libclang/python] Add __contains__ to SourceRange class.Argyrios Kyrtzidis2013-10-311-0/+23
| | | | | | Patch by Loïc Jaquemet! llvm-svn: 193725
* This checkin introduces the notion of hardcoded formatters, which LLDB can ↵Enrico Granata2013-10-301-0/+39
| | | | | | | | | | | | bind to a ValueObject internally depending on any criteria User-vended by-type formatters still would prevail on these hardcoded ones For the time being, while the infrastructure is there, no such formatters exist This can be useful for cases such as expanding vtables for C++ class pointers, when there is no clear cut notion of a typename matching, and the feature is low-level enough that it makes sense for the debugger core to be vending it llvm-svn: 193724
* Fix a few typosMatt Arsenault2013-10-301-7/+7
| | | | llvm-svn: 193723
* Fix Windows build by including CGFunctionInfo.h.Mark Lacey2013-10-301-0/+1
| | | | | | | | | CodeGenTypes.h instantiates llvm::FoldingSet<> with CGFunctionInfo, and VC++ doesn't like the static_cast from FoldingSetImpl::Node* to CGFunctionInfo* since it hasn't seen the definition of CGFunctionInfo and that it inherits from FoldingSetImpl::Node. llvm-svn: 193722
OpenPOWER on IntegriCloud