summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Properly clear current coroutine promise on FunctionScopeInfo reuse. ShouldRichard Smith2015-10-271-0/+1
| | | | | | hopefully make bots happy again. llvm-svn: 251397
* Access the right triple field for IAMCU.Michael Kuperstein2015-10-271-2/+2
| | | | llvm-svn: 251396
* [ScalarEvolutionExpander] Properly insert no-op casts + EH PadsDavid Majnemer2015-10-272-15/+188
| | | | | | | | | | | We want to insert no-op casts as close as possible to the def. This is tricky when the cast is of a PHI node and the BasicBlocks between the def and the use cannot hold any instructions. Iteratively walk EH pads until we hit a non-EH pad. This fixes PR25326. llvm-svn: 251393
* Work around incomplete list initialization support in older MSVC.Richard Smith2015-10-272-5/+20
| | | | llvm-svn: 251391
* [X86] Make elfiamcu an OS, not an environment.Michael Kuperstein2015-10-275-12/+12
| | | | | | | | | | GNU tools require elfiamcu to take up the entire OS field, so, e.g. i?86-*-linux-elfiamcu is not considered a legal triple. Make us compatible. Differential Revision: http://reviews.llvm.org/D14081 llvm-svn: 251390
* Handle target builtin options that are all required rather thanEric Christopher2015-10-274-56/+72
| | | | | | | | | | | | | | | | | only one of a group of possibilities. This changes the syntax in the builtin files to represent: , as the and operator | as the or operator The former syntax matches how the backend tablegen files represent multiple subtarget features being required. Updated the builtin and intrinsic headers accordingly for the new syntax. llvm-svn: 251388
* [coroutines] Creation of promise object, lookup of operator co_await, buildingRichard Smith2015-10-2736-132/+871
| | | | | | of await_* calls, and AST representation for same. llvm-svn: 251387
* Fix for Arm watchpoint cache corruption in case of ptrace failureOmair Javaid2015-10-271-0/+48
| | | | | | Differential revision: http://reviews.llvm.org/D14051 llvm-svn: 251386
* Create undef reference to profile hook symbol Xinliang David Li2015-10-272-0/+15
| | | | | | | | | Create undef reference to profile hook symbol when PGO instrumentation is turned on. This allows LLVM to omit emission of hook variable use method for every single module instrumented. llvm-svn: 251385
* Be more conservative about diagnosing "incorrect" uses of __weak:John McCall2015-10-2713-90/+220
| | | | | | | | | | | | allow them to be written in certain kinds of user declaration and diagnose on the use-site instead. Also, improve and fix some diagnostics relating to __weak and properties. rdar://23228631 llvm-svn: 251384
* [SimplifyLibCalls] Use range-based loop. No functional change.Davide Italiano2015-10-271-4/+2
| | | | llvm-svn: 251383
* Convert cost table lookup functions to return a pointer to the entry or ↵Craig Topper2015-10-274-168/+142
| | | | | | | | | | nullptr instead of the index. This avoid mentioning the table name an extra time and allows the lookup to be done directly in the ifs by relying on the bool conversion of the pointer. While there make use of ArrayRef and std::find_if. llvm-svn: 251382
* [function-attrs] Refactor code to handle shorter code with early exits.Chandler Carruth2015-10-271-31/+37
| | | | | | | | | | | No functionality changed here, but the indentation is substantially reduced and IMO the code is much easier to read. I've also added some helpful comments. This is just a clean-up I wrote while studying the code, and that has been in my backlog for a while. llvm-svn: 251381
* [ValueTracking] Don't special case wrapped ConstantRanges; NFCISanjoy Das2015-10-271-3/+1
| | | | | | | | | | | | | | | | | | | Use `getUnsignedMax` directly instead of special casing a wrapped ConstantRange. The previous code would have been "buggy" (and this would have been a semantic change) if LLVM allowed !range metadata to denote full ranges. E.g. in %val = load i1, i1* %ptr, !range !{i1 1, i1 1} ;; == full set ValueTracking would conclude that the high bit (IOW the only bit) in %val was zero. Since !range metadata does not allow empty or full ranges, this change is just a minor stylistic improvement. llvm-svn: 251380
* Attempt to fix asan's ptrace.cc on the clang-cmake-mips builder after r251331.Daniel Sanders2015-10-271-1/+1
| | | | llvm-svn: 251379
* [x86] replace integer logic ops with packed SSE FP logic opsSanjay Patel2015-10-272-20/+38
| | | | | | | | | | | | | | | | | | | If we have an operand to a bitwise logic op that's already in an XMM register and the result is going to be sent to an XMM register, then use an SSE logic op to avoid moves between the integer and vector register files. Related commits: http://reviews.llvm.org/rL248395 http://reviews.llvm.org/rL248399 http://reviews.llvm.org/rL248404 http://reviews.llvm.org/rL248409 http://reviews.llvm.org/rL248415 This should solve PR22428: https://llvm.org/bugs/show_bug.cgi?id=22428 llvm-svn: 251378
* Minor cleanup of SBTypeSummary::CreateWithCallback to take an optional ↵Enrico Granata2015-10-272-17/+21
| | | | | | description argument llvm-svn: 251377
* Add calls to the SB API to access the multi-language formatter category featureEnrico Granata2015-10-273-0/+41
| | | | llvm-svn: 251376
* [SCEV] Refactor out ScalarEvolution::getDataLayout; NFCSanjoy Das2015-10-272-17/+19
| | | | llvm-svn: 251375
* Fix Clang-tidy modernize-use-override warnings in ↵Eugene Zelenko2015-10-2716-325/+239
| | | | | | source/Plugins/LanguageRuntime and Platform; other minor fixes. llvm-svn: 251374
* Fix llc crash processing S/UREM for -Oz builds caused by rL250825.Steve King2015-10-272-5/+278
| | | | | | | | | | | | | | When taking the remainder of a value divided by a constant, visitREM() attempts to convert the REM to a longer but faster sequence of instructions. This conversion calls combine() on a speculative DIV instruction. Commit rL250825 may cause this combine() to return a DIVREM, corrupting nearby nodes. Flow eventually hits unreachable(). This patch adds a test case and a check to prevent visitREM() from trying to convert the REM instruction in cases where a DIVREM is possible. See http://reviews.llvm.org/D14035 llvm-svn: 251373
* [msan] Yet another attempt to fix process_vm_readv test.Evgeniy Stepanov2015-10-271-3/+8
| | | | llvm-svn: 251372
* Use early exits to reduce indentation.Eric Christopher2015-10-271-46/+48
| | | | llvm-svn: 251371
* add FP logic test cases to show current codegen (PR22428)Sanjay Patel2015-10-261-0/+60
| | | | llvm-svn: 251370
* [mips][ias] Fold needsExpansion() and expandInstruction() together. NFC.Daniel Sanders2015-10-261-122/+83
| | | | | | | | | | | | | | Summary: Previously we maintained two separate switch statements that had to be kept in sync. This patch merges them into a single switch. Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D14012 llvm-svn: 251369
* Change TestTypeCompletion to not rely on std::stringEnrico Granata2015-10-262-22/+43
| | | | | | On some combination of platform and c++ library, this dependency was causing the test to fail for reasons tangential to its real objective llvm-svn: 251368
* Switch ownership of miscellaneous ARM target to myself.Tim Northover2015-10-261-2/+2
| | | | llvm-svn: 251367
* [x86] Make the vselect-minmax test 2x to 3x faster by deleting all theChandler Carruth2015-10-261-4032/+960
| | | | | | | instructions that aren't relevant for instruction selection of vector min and max. llvm-svn: 251366
* Use Twin instead of std::to_string.Oleksiy Vyalov2015-10-261-4/+3
| | | | | | http://reviews.llvm.org/D14095 llvm-svn: 251365
* Fix indents. It's a follow up to r251353.Ivan Krasin2015-10-261-2/+2
| | | | llvm-svn: 251364
* [LLVMSymbolize] Don't use LLVMSymbolizer::Options in ModuleInfo. NFC.Alexey Samsonov2015-10-262-20/+21
| | | | | | | | | LLVMSymbolizer::Options is mostly used in LLVMSymbolizer class anyway. Let's keep their usage restricted to that class, especially given that it's worth to move ModuleInfo to a different header, independent from the symbolizer class. llvm-svn: 251363
* [asan] Mark 5 tests unsupported on Android.Evgeniy Stepanov2015-10-265-1/+5
| | | | llvm-svn: 251362
* [asan] Fix throw-call-test to properly XFAIL on android/aarch64.Evgeniy Stepanov2015-10-261-2/+5
| | | | | | | The test is sensitive to stack layout changes. Tweak it a bit to expose the bug on aarch64 as well as on arm. llvm-svn: 251361
* [asan] Switch back to BFD linker in asan/android tests.Evgeniy Stepanov2015-10-261-1/+1
| | | | | | | | | | | | | | | We've switched to Gold earlier because of a minor misconfiguration of the BFD linker in Android NDK. It turns out, Gold has much bigger problems: https://sourceware.org/bugzilla/show_bug.cgi?id=19163 (a bug is actually in the android runtime loader, but it means that gold does not work with android L and even M). Switching back to BFD and adding a workaround by explicitly linking libm to all tests. llvm-svn: 251360
* [asan] Don't use asanwrapper in 64-bit android tests.Evgeniy Stepanov2015-10-261-2/+2
| | | | | | | | Asanwrapper is required on older android versions to work around undesired linker behavior. It is not required on L and newer, and does not fully support multiarch devices. llvm-svn: 251359
* [clang-tidy] Add new check cppcoreguidelines-pro-bounds-array-to-pointer-decayMatthias Gehre2015-10-267-0/+149
| | | | | | | | | | | | | | | | | | | | Summary: This check flags all array to pointer decays. Pointers should not be used as arrays. array_view is a bounds-checked, safe alternative to using pointers to access arrays. This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#-bounds3-no-array-to-pointer-decay Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13640 llvm-svn: 251358
* reorganize logic; NFCI (retry r251349)Sanjay Patel2015-10-261-13/+13
| | | | | | | | | This is a preliminary step before adding another optimization to PerformBITCASTCombine(). ..and I really hope it's NFC this time! llvm-svn: 251357
* asan_symbolize.py: Call llvm-symbolizer with --functions=linkage instead of ↵Alexey Samsonov2015-10-261-1/+1
| | | | | | --functions=short. llvm-svn: 251356
* clang-tidy/add_new_check.py: Adapt to use %check_clang_tidy in testsMatthias Gehre2015-10-261-1/+1
| | | | | | | | | | | | Summary: Adapt clang-tidy/add_new_check.py according to commit r251010 "Add %check_clang_tidy and %clang_tidy_diff" Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14049 llvm-svn: 251355
* Revert "Clang module compilation options need to be per-platform."Adrian McCarthy2015-10-265-97/+14
| | | | | | | | This reverts commit r251340. Breaks the Windows build because Windows doesn't have getuid. The fix is not obvious. llvm-svn: 251354
* Move imported entities into DwarfCompilationUnit to speed up LTO linking.Ivan Krasin2015-10-264-22/+14
| | | | | | | | | | | | | | | | Summary: In particular, this CL speeds up the official Chrome linking with LTO by 1.8x. See more details in https://crbug.com/542426 Reviewers: dblaikie Subscribers: jevinskie Differential Revision: http://reviews.llvm.org/D13918 llvm-svn: 251353
* ARM: make sure VFP loads and stores are properly aligned.Tim Northover2015-10-262-10/+110
| | | | | | | Both VLDRS and VLDRD fault if the memory is not 4 byte aligned, which wasn't really being checked before, leading to faults at runtime. llvm-svn: 251352
* Remove some useless typedef's.Stephane Sezer2015-10-261-7/+7
| | | | | | | | | | | | | | | | Summary: This does not have any functionnal difference but I found myself searching for 'struct RegisterInfo$' to find a definition and couldn't find it. The version without typedef seems more common so let's try and be consistent. Reviewers: clayborg, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14091 llvm-svn: 251351
* revert r251349; it included code for a functional changeSanjay Patel2015-10-261-33/+14
| | | | llvm-svn: 251350
* reorganize logic; NFCISanjay Patel2015-10-261-14/+33
| | | | | | | This is a preliminary step before adding another optimization to PerformBITCASTCombine(). llvm-svn: 251349
* Initialize BasicAAWrapperPass in it's constructorKeno Fischer2015-10-262-1/+5
| | | | | | | | | | | | Summary: This idiom is used elsewhere in LLVM, but was overlooked here. Reviewers: chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13628 llvm-svn: 251348
* Fix build failure on GCC 4.7 (old libstdc++ doesn't have std::map::emplace).Alexey Samsonov2015-10-261-2/+3
| | | | llvm-svn: 251347
* Remove use of std::map<>::emplace which is not supported on some older ↵David Blaikie2015-10-261-1/+1
| | | | | | versions of libstdc++ llvm-svn: 251346
* [msan] Fix process_vm_readv test.Evgeniy Stepanov2015-10-261-8/+4
| | | | | | | The check for the glibc version was not working as expected (dlsym was finding the interceptor instead of the libc implementation). llvm-svn: 251345
* Remove unused local variable. NFC.Diego Novillo2015-10-261-2/+0
| | | | llvm-svn: 251344
OpenPOWER on IntegriCloud