summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GlobalISel: remove "unsized" LLTTim Northover2016-09-1510-55/+16
| | | | | | | | It was only really there as a sentinel when instructions had to have precisely one type. Now that registers are typed, each register really has to have a type that is sized. llvm-svn: 281599
* llvm/test/Transforms/CorrelatedValuePropagation/alloca.ll REQUIRES +Asserts.NAKAMURA Takumi2016-09-151-0/+1
| | | | llvm-svn: 281598
* GlobalISel: cache pointer sizes in LLTTim Northover2016-09-158-64/+78
| | | | | | | Otherwise everything that needs to work out what size they are has to keep a DataLayout handy, which is a bit silly and very annoying. llvm-svn: 281597
* [ARM] ARM-specific attributes should be accepted for big-endianOliver Stannard2016-09-152-1/+4
| | | | | | | | | | | | | | The ARM-specific C attributes (currently just interrupt) need to check for both the big- and little-endian versions of the triples, so that they are accepted for both big and little endian targets. TargetWindows and TargetMicrosoftCXXABI also only use the little-endian triples, but this is correct as windows is not supported on big-endian ARM targets (and this is asserted in lib/Basic/Targets.cpp). Differential Revision: https://reviews.llvm.org/D24245 llvm-svn: 281596
* Add support for DW_AT_ranges_base attributeTamas Berghammer2016-09-1510-33/+95
| | | | | | | | | | | | | It is a new attribute emitted by clang as a GNU extension and will be part of Dwarf5. The purpose of the attribute is to specify a compile unit level base value for all DW_AT_ranges to reduce the number of relocations have to be done by the linker. Fixes (at least partially): https://llvm.org/pr28826 Differential revision: https://reviews.llvm.org/D24514 llvm-svn: 281595
* Try to fix windows build after rL281569Tamas Berghammer2016-09-152-2/+2
| | | | llvm-svn: 281594
* [asan] Reify ErrorInvalidPointerPairFilipe Cabecinhas2016-09-153-13/+30
| | | | | | | | | | | | Summary: Continue work on PR30351 Reviewers: vitalybuka, kcc, eugenis Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24554 llvm-svn: 281593
* [asan] Reify ErrorODRViolationFilipe Cabecinhas2016-09-153-36/+61
| | | | | | | | | | | | Summary: Continue work on PR30351 Reviewers: vitalybuka, kcc, eugenis Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24552 llvm-svn: 281592
* [asan] Reify ErrorBadParamsToAnnotateContiguousContainerFilipe Cabecinhas2016-09-153-13/+43
| | | | | | | | | | | | Summary: Continue work on PR30351 Reviewers: vitalybuka, kcc, eugenis Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24551 llvm-svn: 281591
* [llvm-cov] Move some layout logic to the right spot (NFC)Vedant Kumar2016-09-152-2/+3
| | | | llvm-svn: 281590
* [llvm-cov] Hide instantiation views for unexecuted functionsVedant Kumar2016-09-155-16/+57
| | | | | | | | Copying in the full text of the function doesn't help at all when we already know that it's never executed. Just say that it's unexecuted -- the relevant source text has already been printed. llvm-svn: 281589
* [llvm-cov] Don't create 'jump to ...' links in nested viewsVedant Kumar2016-09-152-1/+5
| | | | | | | Doing so is pointless, since the whole view is usually visible in a small amount of space. llvm-svn: 281588
* Update clang unittests for rL281586.Wei Mi2016-09-156-37/+37
| | | | | | | The change in rL281586 is in llvm component and tests updated here are in clang component, so I have to commit them consecutively. llvm-svn: 281587
* Add some shortcuts in LazyValueInfo to reduce compile time of Correlated ↵Wei Mi2016-09-152-0/+77
| | | | | | | | | | | | | | | Value Propagation. The patch is to partially fix PR10584. Correlated Value Propagation queries LVI to check non-null for pointer params of each callsite. If we know the def of param is an alloca instruction, we know it is non-null and can return early from LVI. Similarly, CVP queries LVI to check whether pointer for each mem access is constant. If the def of the pointer is an alloca instruction, we know it is not a constant pointer. These shortcuts can reduce the cost of CVP significantly. Differential Revision: https://reviews.llvm.org/D18066 llvm-svn: 281586
* [CMake] Fixing lit for runtimes directoryJonas Hahnfeld2016-09-151-0/+3
| | | | | | | | | | | Copy variable LLVM_BUILD_MAIN_SRC_DIR from LLVMConfig.cmake to LLVM_MAIN_SRC_DIR as it is named for in-tree builds. This ensures that add_lit_target() can reliably find llvm-lit which is not necessarily in the PATH. Differential Revision: https://reviews.llvm.org/D24503 llvm-svn: 281585
* [libFuzzer] disable test that requires debug info -- it fails on the botKostya Serebryany2016-09-151-5/+0
| | | | llvm-svn: 281584
* [libFuzzer] move the AFL driver build rule test into the uninstrumented dirKostya Serebryany2016-09-152-12/+13
| | | | llvm-svn: 281583
* Builtins.def: Explicitly undef finitef, to appease mingw. It defines finitef ↵NAKAMURA Takumi2016-09-151-0/+4
| | | | | | as alias of _finitef. llvm-svn: 281582
* [llvm-cov] Make a method name more accurate (NFC)Vedant Kumar2016-09-156-12/+10
| | | | llvm-svn: 281581
* [libFuzzer] fix print_pcs testKostya Serebryany2016-09-151-2/+2
| | | | llvm-svn: 281580
* [llvm-cov] Don't print a verbose title when looking at one fileVedant Kumar2016-09-152-3/+3
| | | | | | | Having the same title, timestamp, etc. occur repeatedly creates an unnecessary distraction when paging through a report. llvm-svn: 281579
* [llvm-cov] Fix tests that aren't checking anything (NFC)Vedant Kumar2016-09-153-28/+24
| | | | | | | E.g the 'showProjectSummary' test contains some checks which can't fail because they match themselves... llvm-svn: 281578
* [libFuzzer] implement print_pcs with trace-pc-guard. Change the ↵Kostya Serebryany2016-09-155-20/+68
| | | | | | trace-pc-guard heuristic for 8-bit counters to look more like in AFL (not that it's provable better, but the existin test preferes this heuristic) llvm-svn: 281577
* [sanitizer] Fix darwin Go tsan build by unifying r281567 and r281553.Ahmed Bougacha2016-09-153-10/+7
| | | | | | Avoid redefining the weak stub when building gotsan.cc llvm-svn: 281576
* Add a C++ unittest to test the fix for PR30213.Wei Mi2016-09-151-0/+65
| | | | | | | | | The test exercises the branch in scev expansion when the value in ValueOffsetPair is a ptr and the offset is not divisible by the elem type size of value. Differential Revision: https://reviews.llvm.org/D24088 llvm-svn: 281575
* [sanitizer] one more attempt to fix things with ↵Kostya Serebryany2016-09-151-1/+1
| | | | | | __sanitizer_print_memory_profile llvm-svn: 281574
* [doc] [CUDA] Add sections about STL support and differences between nvcc and ↵Justin Lebar2016-09-151-2/+336
| | | | | | clang to CompileCudaWithLLVM.rst. llvm-svn: 281573
* [LangRef] Add a clarifying example for undefSanjoy Das2016-09-151-0/+3
| | | | llvm-svn: 281570
* Make the keys enumerations for options and resolvers enum classes.Jim Ingham2016-09-154-13/+16
| | | | | | | This keeps them from conflicting with other symbols names, so it's worth their being less convenient to use for indexing. llvm-svn: 281569
* [libFuzzer] add 8-bit counters to trace-pc-guard handlerKostya Serebryany2016-09-155-13/+71
| | | | llvm-svn: 281568
* Define the weak symbol added by r281546 on mac.Ahmed Bougacha2016-09-151-0/+8
| | | | | | 'weak' doesn't behave like it does on linux. llvm-svn: 281567
* math: Implement tgammaAaron Watry2016-09-155-0/+77
| | | | | | Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 281566
* math: Implement lgammaAaron Watry2016-09-155-0/+49
| | | | | | | | Just use lgamma_r and ignore the value returned in the second argument Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 281565
* math: Implement lgamma_rAaron Watry2016-09-156-0/+518
| | | | | | | | | Ported from the amd-builtins branch, which is itself based on the Sun Microsystems implementation. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 281564
* Add ADDR_SPACE parameter to _CLC_V_V_VP_VECTORIZEAaron Watry2016-09-151-12/+27
| | | | | | | | | | | This macro is currently unused, but I plan to use it shortly. The previous form did casts of pointers without an address space, which doesn't work so well for CL 1.x. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 281563
* Revert r280944 - Added 'inline' attribute to basic_string's destructorEric Fiselier2016-09-141-1/+0
| | | | | | | | | | | | | | | | | | | | This patch causes a couple of issues: 1) It triggers http://llvm.org/PR30341. Although the bug is not truly a libc++ bug it breaks the LLVM build using libc++. Reverting this patch is only a temporary workaround until Clang is fixed. 2) It adds yet another ABI incompatibility when libc++.so is compiled with GCC. Specifically GCC doesn't ignore the _LIBCPP_INLINE_VISIBILITY on the out-of-line definition when compiling the dylib. This causes the externally instantiated ~basic_string symbol to have hidden visibility. This patch should be recommitted after addressing (1) and (2). (2) can be fixed by adding _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY which is defined as __attribute__((visibility("default"), always_inline)) as opposed to _LIBCPP_INLINE_VISIBILITY which makes the symbol hidden. llvm-svn: 281562
* [InstCombine] refactor eq/ne cases in foldICmpUsingKnownBits() ; NFCISanjay Patel2016-09-141-62/+27
| | | | | | The pattern matching and transforms are identical; the cmp predicate just changes. llvm-svn: 281561
* [pdb] Fix unit test compilation.Zachary Turner2016-09-142-15/+23
| | | | llvm-svn: 281560
* [InstCombine] add vector tests for foldICmpUsingKnownBits()Sanjay Patel2016-09-141-3/+97
| | | | llvm-svn: 281559
* Fix the Windows build after r281546Reid Kleckner2016-09-141-0/+3
| | | | llvm-svn: 281558
* Revert r281457 "Supports adding insertion around non-insertion replacements."Artem Belevich2016-09-143-116/+23
| | | | | | Commit was breaking our internal tests. llvm-svn: 281557
* [pdb] Get rid of Data and RawData in CVType.Zachary Turner2016-09-1418-129/+282
| | | | | | | | | | | The `CVType` had two redundant fields which were confusing and error-prone to fill out. By treating member records as a distinct type from leaf records, we are able to simplify this quite a bit. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24432 llvm-svn: 281556
* [pdb] Write TPI hash values to the TPI stream.Zachary Turner2016-09-1421-172/+363
| | | | | | | | | | This completes being able to write all the interesting values of a PDB TPI stream. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D24370 llvm-svn: 281555
* [MC] Handle discardable COFF sections in assemblyReid Kleckner2016-09-144-13/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes a dumpbin warning on objects produced by the MC assembler when starting from text. All .debug$S sections are supposed to be marked IMAGE_SCN_MEM_DISCARDABLE. The main, non-COMDAT .debug$S section had this set, but any comdat ones were not being marked discardable because there was no .section flag for it. This change does two things: - If the section name starts with .debug, implicitly mark the section as discardable. This means we do the same thing as gas on .s files with DWARF from GCC, which is important. - Adds the 'D' flag to the .section directive on COFF to explicitly say a section is discardable. We only emit this flag if the section name does not start with .debug. This allows the user to explicitly tweak their section flags without worrying about magic section names. The only thing you can't do in this scheme is to create a non-discardable section with a name starting with ".debug", but hopefully users don't need that. Reviewers: majnemer, rafael Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24582 llvm-svn: 281554
* [tsan] fix tsan build by adding a dummy __sanitizer_print_memory_profileKostya Serebryany2016-09-142-1/+3
| | | | llvm-svn: 281553
* [clang-cl] Accept the joined equals version of -resource-dir=Reid Kleckner2016-09-142-2/+3
| | | | | | | lib/Tooling injects this argument without regard for what driver syntax is in use. llvm-svn: 281550
* Fix auto-upgrade of TBAA tags in Bitcode ReaderMehdi Amini2016-09-147-36/+71
| | | | | | | | | | | | | | | | | | If TBAA is on an intrinsic and it gets upgraded, it'll delete the call instruction that we collected in a vector. Even if we were to use WeakVH, it'll drop the TBAA and we'll hit the assert on the upgrade path. r263673 gave a shot to make sure the TBAA upgrade happens before intrinsics upgrade, but failed to account for all cases. Instead of collecting instructions in a vector, this patch makes it just upgrade the TBAA on the fly, because metadata are always already loaded at this point. Differential Revision: https://reviews.llvm.org/D24533 llvm-svn: 281549
* [asan] fix windowsKostya Serebryany2016-09-141-0/+1
| | | | llvm-svn: 281548
* [asan] add heap_profile=1 to asan to periodically print the heap profile. So ↵Kostya Serebryany2016-09-144-1/+48
| | | | | | far this is a very basic heap-profile functionality llvm-svn: 281546
* More cleanup in `frame diagnose,` eliminating a bunch of messy cases.Sean Callanan2016-09-143-60/+33
| | | | llvm-svn: 281545
OpenPOWER on IntegriCloud