summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add REQUIRES: default_triple to these testcases.Adrian Prantl2015-09-242-1/+3
| | | | llvm-svn: 248452
* Remove iterator_range::end.Rui Ueyama2015-09-241-1/+0
| | | | | | | Because the current proposal does not include that member function, and we are trying to keep in line with that. llvm-svn: 248451
* Added the ability to register key callbacks for much easier key handling. ↵Greg Clayton2015-09-242-70/+89
| | | | | | Also added the elapsed time display to the status bar. llvm-svn: 248450
* Use simpler interface for getting the pointee type for a node.Manuel Klimek2015-09-241-1/+1
| | | | llvm-svn: 248449
* Disabled one of the test runs in cuda-detect.cuArtem Belevich2015-09-241-2/+0
| | | | | | | --sysroot apparently can't handle long paths which triggers test failure on some platforms. llvm-svn: 248448
* Add iterator_range::end() predicate.Rui Ueyama2015-09-231-0/+1
| | | | llvm-svn: 248447
* [analyzer] Discard malloc-overflow bug-report when a known size is malloc'ed.Devin Coughlin2015-09-233-34/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch ignores malloc-overflow bug in two cases: Case1: x = a/b; where n < b malloc (x*n); Then x*n will not overflow. Case2: x = a; // when 'a' is a known value. malloc (x*n); Also replaced isa with dyn_cast. Reject multiplication by zero cases in MallocOverflowSecurityChecker Currently MallocOverflowSecurityChecker does not catch cases like: malloc(n * 0 * sizeof(int)); This patch rejects such cases. Two test cases added. malloc-overflow2.c has an example inspired from a code in linux kernel where the current checker flags a warning while it should not. A patch by Aditya Kumar! Differential Revision: http://reviews.llvm.org/D9924 llvm-svn: 248446
* [Unroll] When completely unrolling the loop, replace conditinal branches ↵Michael Zolotukhin2015-09-231-2/+3
| | | | | | | | | | | | | | | with unconditional. Nothing is expected to change, except we do less redundant work in clean-up. Reviewers: hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12951 llvm-svn: 248444
* [CMake] [Darwin] Bug 21562 - Add a CMake equivalent for ↵Chris Bieneman2015-09-231-19/+44
| | | | | | | | | | | | | | make/platform/clang_darwin.mk in compiler_rt Summary: First pass at adding cc_kext_* builtin libraries. I need to cleanup and refactor the builtin filtering so that I can use it to filter the builtin symbols list, but this is the first step in the right direction. Reviewers: bob.wilson, bogner, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13115 llvm-svn: 248443
* [darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures ↵Chris Bieneman2015-09-232-6/+4
| | | | | | | | | | | | | | | | | out of cc_kext into cc_kext_ios Summary: This corresponds to a patch to compiler-rt (D13112). Xcode 7 doesn't support targeting iOS5 and earlier. Instead of just dropping cc_kext_ios5, I've repurposed it to cc_kext_ios, and I'm pulling the iOS architectures out of cc_kext. Putting OS X and iOS slices inside the same archive was just odd. Reviewers: bogner, bob.wilson Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13113 llvm-svn: 248442
* [darwin] [builtins] Stop generating cc_kext_ios5 and move iOS architectures ↵Chris Bieneman2015-09-231-34/+17
| | | | | | | | | | | | | | | | | out of cc_kext into cc_kext_ios Summary: Xcode 7 doesn't support targeting iOS5 and earlier. Instead of just dropping cc_kext_ios5, I've repurposed it to cc_kext_ios, and I'm pulling the iOS architectures out of cc_kext. Putting OS X and iOS slices inside the same archive was just odd. There is a cooresponding clang change coming too. Reviewers: bogner, bob.wilson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13112 llvm-svn: 248441
* Put profile variables of COMDAT functions to it's own COMDAT group.Wei Mi2015-09-232-9/+13
| | | | | | | | | | | | | | | | | In -fprofile-instr-generate compilation, to remove the redundant profile variables for the COMDAT functions, these variables are placed in the same COMDAT group as its associated function. This way when the COMDAT function is not picked by the linker, those profile variables will also not be output in the final binary. This may cause warning when mix link objects built w and wo -fprofile-instr-generate. This patch puts the profile variables for COMDAT functions to its own COMDAT group to avoid the problem. Patch by xur. Differential Revision: http://reviews.llvm.org/D12248 llvm-svn: 248440
* set div/rem default values to 'expensive' in TargetTransformInfo's cost modelSanjay Patel2015-09-232-0/+35
| | | | | | | | | | | | | | | | | | | ...because that's what the cost model was intended to do. As discussed in D12882, this fix has a temporary unintended consequence for SimplifyCFG: it causes us to not speculate an fdiv. However, two wrongs make PR24818 right, and two wrongs make PR24343 act right even though it's really still wrong. I intend to correct SimplifyCFG and add to CodeGenPrepare to account for this cost model change and preserve the righteousness for the bug report cases. https://llvm.org/bugs/show_bug.cgi?id=24818 https://llvm.org/bugs/show_bug.cgi?id=24343 Differential Revision: http://reviews.llvm.org/D12882 llvm-svn: 248439
* Fix loop-convert for trivially copyable types.Manuel Klimek2015-09-233-48/+56
| | | | | | | | | | | | | | Previously, we would rewrite: void f(const vector<int> &v) { for (size_t i = 0; i < v.size(); ++i) { to for (const auto &elem : v) { Now we rewrite it to: for (auto elem : v) { (and similarly for iterator based loops). llvm-svn: 248438
* ARM: fix folding stack adjustment (again again again...)Tim Northover2015-09-232-2/+4
| | | | | | | | | | | | This time, the issue is that we weren't accounting for the possibility that aligned DPRs could have been stored after the final "push" in a prologue. When that happened we effectively moved a "sub sp, #N" from below the aligned stores to above them, and everything went to pot. To make it worse, I'd actually committed something testing that we produced wrong code, so the test update is tiny. llvm-svn: 248437
* Forbid qualifiers on ObjC generic parameters and arguments, butJohn McCall2015-09-239-25/+385
| | | | | | | | | | | | | | silently ignore them on arguments when they're provided indirectly (.e.g behind a template argument or typedef). This is mostly just good language design --- specifying that a generic argument is __weak doesn't actually do anything --- but it also prevents assertions when trying to apply a different ownership qualifier. rdar://21612439 llvm-svn: 248436
* Remove warning on over-wide bit-field of boolean type; there's no risk thatRichard Smith2015-09-235-12/+18
| | | | | | | | | | someone thought all the bits would be value bits in this case. Also fix the wording of the warning -- it claimed that the width of 'bool' is 8, which is not correct; the width is 1 bit, whereas the size is 8 bits in our implementation. llvm-svn: 248435
* Check existence of SIGHUP before using itYing Chen2015-09-231-2/+4
| | | | | | | | | | | | Summary: -SIGHUP doesn't exist on Windows Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13114 llvm-svn: 248434
* [CUDA] Added CUDA installation detector class.Artem Belevich2015-09-238-1/+91
| | | | | | | | | | | Added new option --cuda-path=<path> which allows overriding default search paths. If it's not specified we look for CUDA installation in /usr/include/cuda and /usr/include/cuda-7.0. Differential Revision: http://reviews.llvm.org/D12989 llvm-svn: 248433
* [analyzer] Improve localizability checks for iOS / OS X.Devin Coughlin2015-09-234-107/+861
| | | | | | | | | | | | | | | | | | | | Various improvements to the localization checker: * Adjusted copy to be consistent with diagnostic text in other Apple API checkers. * Added in ~150 UIKit / AppKit methods that require localized strings in UnlocalizedStringsChecker. * UnlocalizedStringChecker now checks for UI methods up the class hierarchy and UI methods that conform for a certain Objective-C protocol. * Added in alpha version of PluralMisuseChecker and some regression tests. False positives are still not ideal. (This is the second attempt, with the memory issues on Linux resolved.) A patch by Kulpreet Chilana! Differential Revision: http://reviews.llvm.org/D12417 llvm-svn: 248432
* PR14858: Initial support for proper sizeof... handling within alias templates.Richard Smith2015-09-2312-80/+246
| | | | | | | This doesn't quite get alias template equivalence right yet, but handles the egregious cases where we would silently give the wrong answers. llvm-svn: 248431
* Remove wrong implication that value-dependent implies instantiation-dependent,Richard Smith2015-09-232-4/+2
| | | | | | | | | and fix the only code that was depending on this so that it sets all the relevant flags appropriately. No functionality change intended. llvm-svn: 248430
* The Visual Studio compiler does not like this C-ism when 'enum class'es are ↵Enrico Granata2015-09-231-1/+1
| | | | | | involved llvm-svn: 248429
* dsymutil: Don't prune forward declarations inside a module definition.Adrian Prantl2015-09-235-9/+17
| | | | llvm-svn: 248428
* Make the ObjCLanguageRuntimes comply with llvm-style RTTIEnrico Granata2015-09-2310-24/+58
| | | | llvm-svn: 248427
* Support linking against OpenMP runtime on NetBSD.Joerg Sonnenberger2015-09-232-0/+13
| | | | llvm-svn: 248426
* Add support for relocating R_X86_64_GOTPCREL.Rafael Espindola2015-09-234-14/+42
| | | | llvm-svn: 248425
* Push OpenMP linker flags after linker input on Darwin. Don't add anyJoerg Sonnenberger2015-09-232-2/+29
| | | | | | libraries if -nostdlib is specified. Test. llvm-svn: 248424
* Fix this dsymutil testcase by not passing in a path to the modulemap file,Adrian Prantl2015-09-232-3/+1
| | | | | | | | so the lookup works as expected after prepending the oso-prepend-path. This manifested only on Windows, because "/" is not a relative path there. llvm-svn: 248423
* Remove handling of AddrSpaceCast in stripAndAccumulateInBoundsConstantOffsetsPhilip Reames2015-09-232-2/+29
| | | | | | | | | | Patch by: simoncook Unlike BitCasts, AddrSpaceCasts do not always produce an output the same size as its input, which was previously assumed. This fixes cases where two address spaces do not have the same size pointer, as an assertion failure would occur when trying to prove deferenceability. LoopUnswitch is used in the particular test, but LICM also exhibits the same problem. Differential Revision: http://reviews.llvm.org/D13008 llvm-svn: 248422
* Revert 248366 "Testcase and fix for bug 24074"Enrico Granata2015-09-2323-755/+74
| | | | | | This commit introduced regressions in several test cases on FreeBSD and Mac OS X llvm-svn: 248421
* Swap loop invariant GEP with loop variant GEP to allow more LICM.Lawrence Hu2015-09-232-8/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the order of GEPs generated by Splitting GEPs pass, specially when one of the GEPs has constant and the base is loop invariant, then we will generate the GEP with constant first when beneficial, to expose more cases for LICM. If originally Splitting GEP generate the following: do.body.i: %idxprom.i = sext i32 %shr.i to i64 %2 = bitcast %typeD* %s to i8* %3 = shl i64 %idxprom.i, 2 %uglygep = getelementptr i8, i8* %2, i64 %3 %uglygep7 = getelementptr i8, i8* %uglygep, i64 1032 ... Now it genereates: do.body.i: %idxprom.i = sext i32 %shr.i to i64 %2 = bitcast %typeD* %s to i8* %3 = shl i64 %idxprom.i, 2 %uglygep = getelementptr i8, i8* %2, i64 1032 %uglygep7 = getelementptr i8, i8* %uglygep, i64 %3 ... For no-loop cases, the original way of generating GEPs seems to expose more CSE cases, so we don't change the logic for no-loop cases, and only limit our change to the specific case we are interested in. llvm-svn: 248420
* [InstCombine] Preserve metadata when merging loads that are phiAkira Hatanaka2015-09-232-6/+88
| | | | | | | | | | | | | | | | | | | | arguments. Make sure InstCombiner::FoldPHIArgLoadIntoPHI doesn't drop the following metadata: MD_tbaa MD_alias_scope MD_noalias MD_invariant_load MD_nonnull MD_range rdar://problem/17617709 Differential Revision: http://reviews.llvm.org/D12710 llvm-svn: 248419
* Fix loop-convert for const references to containers.Manuel Klimek2015-09-232-0/+18
| | | | | | | | | | | | Previously we would use a non-const loop variable in the range-based loop for: void f(const std::vector<int> &v) { for (size_t i = 0; i < v.size(); ++i) { Now we use const auto&. Note that we'll also want to use a copy at least for simple types. llvm-svn: 248418
* [docs] Update DominatorTree docs to clarify expectations around unreachable ↵Philip Reames2015-09-232-2/+20
| | | | | | | | | | | | blocks Note: I'm am not trying to describe what "should be"; I'm only describing what is true today. This came out of my recent question to llvm-dev titled: When can the dominator tree not contain a node for a basic block? Differential Revision: http://reviews.llvm.org/D13078 llvm-svn: 248417
* [TestCppIncompleteTypes] Fix Makefile to handle different archs.Siva Chandra2015-09-231-4/+4
| | | | | | | | | | Reviewers: chying Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13111 llvm-svn: 248416
* [x86] replace integer 'xor' ops with packed SSE FP 'xor' ops when operating ↵Sanjay Patel2015-09-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | on FP scalars Turn this: movd %xmm0, %eax movd %xmm1, %ecx xorl %eax, %ecx movd %ecx, %xmm0 into this: xorps %xmm1, %xmm0 This is related to, but does not solve: https://llvm.org/bugs/show_bug.cgi?id=22428 This is an extension of: http://reviews.llvm.org/rL248395 llvm-svn: 248415
* Handle new types in ClangASTContext::GetEncodingEd Maste2015-09-231-1/+11
| | | | | | | | | And remove the switch default, so that the -Wcovered-switch-default warning will catch new types next time they're added. Differential Revision: http://reviews.llvm.org/D13096 llvm-svn: 248414
* Reverted r248408 "[CUDA] Added CUDA installation detector class."Artem Belevich2015-09-238-85/+1
| | | | | | because included test fails on some platforms. llvm-svn: 248413
* Create the .bss section early so that we don't have to set it after the fact.Rafael Espindola2015-09-2310-95/+94
| | | | llvm-svn: 248412
* Remove expectedFailureFreeBSD from passing testEd Maste2015-09-231-1/+0
| | | | | | | | ClassTypesTestCase::test_with_dwarf_and_constructor_name llvm.org/pr14540 llvm-svn: 248411
* Remove expectedFailureFreeBSD from passing TestChangeValueAPI testEd Maste2015-09-231-1/+0
| | | | | | | | | | This test used fail intermittently, but now passes consistently on FreeBSD in local runs. We'll investigate further if it's intermittent on the FreeBSD buildbot, once it's restored. llvm.org/pr15039 llvm-svn: 248410
* [x86] replace integer 'or' ops with packed SSE FP 'or' ops when operating on ↵Sanjay Patel2015-09-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | FP scalars Turn this: movd %xmm0, %eax movd %xmm1, %ecx orl %eax, %ecx movd %ecx, %xmm0 into this: orps %xmm1, %xmm0 This is related to, but does not solve: https://llvm.org/bugs/show_bug.cgi?id=22428 This is an extension of: http://reviews.llvm.org/rL248395 llvm-svn: 248409
* [CUDA] Added CUDA installation detector class.Artem Belevich2015-09-238-1/+85
| | | | | | | | | | | Added new option --cuda-path=<path> which allows overriding default search paths. If it's not specified we look for CUDA installation in /usr/include/cuda and /usr/include/cuda-7.0. Differential Revision: http://reviews.llvm.org/D12989 llvm-svn: 248408
* Update Reference.pdf files.Jonathan Peyton2015-09-233-11648/+12289
| | | | | | | This updates the Reference.pdf files to say LLVM OpenMP Runtime Library and also updates the build documentation to show how to build with CMake. llvm-svn: 248407
* Fix the order of operations.Adrian Prantl2015-09-231-1/+1
| | | | llvm-svn: 248406
* Android support for SafeStack.Evgeniy Stepanov2015-09-2313-43/+190
| | | | | | | | | | | | | | | | | Add two new ways of accessing the unsafe stack pointer: * At a fixed offset from the thread TLS base. This is very similar to StackProtector cookies, but we plan to extend it to other backends (ARM in particular) soon. Bionic-side implementation here: https://android-review.googlesource.com/170988. * Via a function call, as a fallback for platforms that provide neither a fixed TLS slot, nor a reasonable TLS implementation (i.e. not emutls). This is a re-commit of a change in r248357 that was reverted in r248358. llvm-svn: 248405
* move call to convertIntLogicToFPLogic up; NFCISanjay Patel2015-09-231-3/+3
| | | | | | | The BEXTR comments didn't make sense before, we may want to extend the FP logic transform to work on vectors, and this way is more beautiful. llvm-svn: 248404
* Temporarily make testcase more verbose to debug a msvc buildbot failure.Adrian Prantl2015-09-231-1/+3
| | | | llvm-svn: 248403
* [Bug 24848] Use range metadata to constant fold comparisons with constant valuesChen Li2015-09-232-2/+89
| | | | | | | | | | | | | | | Summary: This is the first part of fixing bug 24848 https://llvm.org/bugs/show_bug.cgi?id=24848. When range metadata is provided, it should be used to constant fold comparisons with constant values. Reviewers: sanjoy, hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12988 llvm-svn: 248402
OpenPOWER on IntegriCloud