summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Fix formatting. NFCCraig Topper2016-06-171-1/+1
| | | | llvm-svn: 272996
* [clang-tidy] More doc fixes. NFC.Alexander Kornienko2016-06-173-30/+30
| | | | llvm-svn: 272995
* [clang-tidy] Fix doxygen errors. NFC.Alexander Kornienko2016-06-1710-58/+72
| | | | llvm-svn: 272994
* [clang-tidy] readability-identifier-naming - Support for MacrosAlexander Kornienko2016-06-174-22/+205
| | | | | | | | | | | | | | | | | | | | | Summary: Added support for macro definitions. -- 1. Added a pre-processor callback to catch macro definitions 2. Changed the type of the failure map so that macros and declarations can share the same map 3. Added extra tests to ensure fix-ups work using the new map 4. Added fix-ups for type aliases in variable and function declarations as part of adding the new tests Reviewers: alexfh Subscribers: Eugene.Zelenko, cfe-commits Patch by James Reynolds! Differential Revision: http://reviews.llvm.org/D21020 llvm-svn: 272993
* [LLE] Don't hard-code the name of the preheader in testAdam Nemet2016-06-171-2/+2
| | | | | | | Turns out a didn't get this right because symbolic stride versioning changes the name. Relax the matching. llvm-svn: 272992
* [PM] Run clang-format over various parts of the new pass manager codeChandler Carruth2016-06-175-19/+24
| | | | | | | prior to some very substantial patches to isolate any formatting-only changes. llvm-svn: 272991
* Revert "InstCombine: Reduce trunc (shl x, K) width."Matt Arsenault2016-06-175-139/+10
| | | | | | | | This reverts commit r272987. This might be causing crashes on some bots. llvm-svn: 272990
* [esan|cfrag] Add the struct field size array in StructInfoQin Zhao2016-06-173-29/+44
| | | | | | | | | | | | | | | Summary: Adds the struct field size array in struct StructInfo. Updates test struct_field_count_basic.ll. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits Differential Revision: http://reviews.llvm.org/D21341 llvm-svn: 272989
* [esan|cfrag] Add the struct field size array in StructInfoQin Zhao2016-06-172-19/+20
| | | | | | | | | | | | | | | Summary: Adds the struct field size array in the struct StructInfo. Prints struct field size info in the report. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D21342 llvm-svn: 272988
* InstCombine: Reduce trunc (shl x, K) width.Matt Arsenault2016-06-175-10/+139
| | | | llvm-svn: 272987
* AMDGPU: Fix supported CL featuresJan Vesely2016-06-173-23/+447
| | | | | | | | Reviewers: arsenm Differential Revision: http://reviews.llvm.org/D20388 llvm-svn: 272986
* ToolingTests/runToolOnCode.TestSkipFunctionBody: Appease msc targets.NAKAMURA Takumi2016-06-171-3/+4
| | | | llvm-svn: 272985
* Rename Align -> Alignment.Rui Ueyama2016-06-177-27/+27
| | | | | | | | I think it is me who named these variables, but I always find that they are slightly confusing because align is a verb. Adding four letters is worth it. llvm-svn: 272984
* [ARM] Add mrrc/mrrc2 intrinsics and update existing mcrr/mcrr2 intrinsics.Ranjeet Singh2016-06-174-19/+115
| | | | | | | | | | Reapplying patch in r272777 which was reverted because the llvm patch which added support for generating the mcrr/mcrr2 instructions from the intrinsic was causing an assertion failure. This has now been fixed in llvm. llvm-svn: 272983
* [ARM] Add support for mrrc/mrrc2 intrinsics.Ranjeet Singh2016-06-175-19/+88
| | | | | | | | | | | | | | | | | | | Reapplying patch as it was reverted when it was first committed because of an assertion failure when the mrrc2 intrinsic was called in ARM mode. The failure was happening because the instruction was being built in ARMISelDAGToDAG.cpp and the tablegen description for mrrc2 instruction doesn't allow you to use a predicate. The ARM architecture manuals do say that mrrc2 in ARM mode can be predicated with AL in assembly but this has no effect on the encoding of the instruction as the top 4 bits will always be 1111 not 1110 which is the encoding for the condition AL. Differential Revision: http://reviews.llvm.org/D21408 llvm-svn: 272982
* [RS4GC] Pass CallSite by value instead of const ref; NFCSanjoy Das2016-06-171-11/+10
| | | | | | That's the idiomatic LLVM pattern. llvm-svn: 272981
* [msan] Intercept send/sendto/sendmsg.Evgeniy Stepanov2016-06-175-30/+169
| | | | | | send/sendmsg moved from tsan to sanitizer_common; sendto is new. llvm-svn: 272980
* Headers: wordsmith error messageSaleem Abdulrasool2016-06-171-1/+1
| | | | | | Use the marketing name for the MSVC release as pointed out by Nico Weber! llvm-svn: 272979
* [PM] Remove support for omitting the AnalysisManager argument to newChandler Carruth2016-06-1749-180/+122
| | | | | | | | | | | | | | | | | | | | pass manager passes' `run` methods. This removes a bunch of SFINAE goop from the pass manager and just requires pass authors to accept `AnalysisManager<IRUnitT> &` as a dead argument. This is a small price to pay for the simplicity of the system as a whole, despite the noise that changing it causes at this stage. This will also helpfull allow us to make the signature of the run methods much more flexible for different kinds af passes to support things like intelligently updating the pass's progression over IR units. While this touches many, many, files, the changes are really boring. Mostly made with the help of my trusty perl one liners. Thanks to Sean and Hal for bouncing ideas for this with me in IRC. llvm-svn: 272978
* Use m_APInt in SimplifyCFGChuang-Yu Cheng2016-06-171-5/+5
| | | | | | | | | | | Switch from m_Constant to m_APInt per David's request. NFC. Author: Thomas Jablin (tjablin) Reviewers: majnemer cycheng http://reviews.llvm.org/D21440 llvm-svn: 272977
* Remove default values that vary depending on target.Rui Ueyama2016-06-162-3/+4
| | | | llvm-svn: 272976
* Make a switch-case a function for the sake of simplicity.Rui Ueyama2016-06-161-12/+15
| | | | llvm-svn: 272975
* Merge cases that execute the same code.Rui Ueyama2016-06-161-19/+6
| | | | llvm-svn: 272974
* Early return. NFC.Rui Ueyama2016-06-161-21/+21
| | | | llvm-svn: 272973
* Simplify. NFC.Rui Ueyama2016-06-161-20/+10
| | | | llvm-svn: 272972
* [CodeGen] Fix a segfault caused by pass_object_size.George Burgess IV2016-06-166-23/+78
| | | | | | | | | This patch fixes a bug where we'd segfault (in some cases) if we saw a variadic function with one or more pass_object_size arguments. Differential Revision: http://reviews.llvm.org/D17462 llvm-svn: 272971
* [LV] Move management of symbolic strides to LAA. NFCIAdam Nemet2016-06-164-83/+72
| | | | | | | | | | | | | | | | | | | This is still NFCI, so the list of clients that allow symbolic stride speculation does not change (yes: LV and LoopVersioningLICM, no: LLE, LDist). However since the symbolic strides are now managed by LAA rather than passed by client a new bool parameter is used to enable symbolic stride speculation. The existing test Transforms/LoopVectorize/version-mem-access.ll checks that stride speculation is performed for LV. The previously added test Transforms/LoopLoadElim/symbolic-stride.ll ensures that no speculation is performed for LLE. The next patch will change the functionality and turn on symbolic stride speculation in all of LAA's clients and remove the bool parameter. llvm-svn: 272970
* [safestack] Sink unsafe address computation to each use.Evgeniy Stepanov2016-06-166-20/+97
| | | | | | | | | | This is a fix for PR27844. When replacing uses of unsafe allocas, emit the new location immediately after each use. Without this, the pointer stays live from the function entry to the last use, while it's usually cheaper to recalculate. llvm-svn: 272969
* [safestack] Fixup llvm.dbg.value when rewriting unsafe allocas.Evgeniy Stepanov2016-06-165-19/+237
| | | | | | | | | When moving unsafe allocas to the unsafe stack, dbg.declare intrinsics are updated to refer to the new location. This change does the same to dbg.value intrinsics. llvm-svn: 272968
* Properly handle short file names on the command line in WindowsAdrian McCarthy2016-06-161-2/+27
| | | | | | | | Some build systems use the short (8.3) file names on Windows, especially if the path has spaces in it. The shortening made it impossible for clang to distinguish between clang.exe, clang++.exe, and clang-cl.exe. So this expands short names in the first argument and does wildcard expansion for the rest. Differential Revision: http://reviews.llvm.org/D21420 llvm-svn: 272967
* [LV] Make getSymbolicStrides return a pointer rather than a reference. NFCAdam Nemet2016-06-161-5/+5
| | | | | | | | | | | | | | | Turns out SymbolicStrides is actually used in canVectorizeWithIfConvert before it gets set up in canVectorizeMemory. This works fine as long as SymbolicStrides resides in LV since we just have an empty map. Based on this the conclusion is made that there are no symbolic strides which is conservatively correct. However once SymbolicStrides becomes part of LAI, LAI is nullptr at this point so we need to differentiate the uninitialized state by returning a nullptr for SymbolicStrides. llvm-svn: 272966
* Fix BitVector move ctor/assignment.Evgeniy Stepanov2016-06-162-0/+28
| | | | | | | | Current implementation leaves the object in an invalid state. This reverts commit bf0c389ac683cd6c0e5959b16537e59e5f4589e3. llvm-svn: 272965
* TTI: Add hook for memory width to vectorizeMatt Arsenault2016-06-163-0/+16
| | | | llvm-svn: 272964
* Fix a few issues while skipping function bodiesOlivier Goffart2016-06-167-23/+147
| | | | | | | | | | | | | | | | | | | | - In functions with try { } catch { }, only the try block would be skipped, not the catch blocks - The template functions would still be parsed. - The initializers within a constructor would still be parsed. - The inline functions within class would still be stored, only to be discared later. - Invalid code with try would assert (as in "int foo() try assert_here") This attempt to do even less while skipping function bodies. Differential Revision: http://reviews.llvm.org/D20821 llvm-svn: 272963
* Keep invalid functions as part of the ASTOlivier Goffart2016-06-163-7/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D19764 llvm-svn: 272962
* Functions declared in a scope should not hide previous declaration in ↵Olivier Goffart2016-06-162-11/+21
| | | | | | | | | | | | | | | | | | | | | earlier scopes This code should be an error: void foo(int); void f3() { int foo(float); { float foo(int); // expected-error {{functions that differ only in their return type cannot be overloaded}} } } the foo(float) function declared at function scope should not hide the float(int) while trying to redeclare functions. Differential Revision: http://reviews.llvm.org/D19763 llvm-svn: 272961
* [CodeView] Implement support for enumsDavid Majnemer2016-06-163-0/+69
| | | | | | | | | | MSVC handles enums differently from structs and classes: a forward declaration is not emitted unconditionally. MSVC does not emit an S_UDT record for the enum. Differential Revision: http://reviews.llvm.org/D21442 llvm-svn: 272960
* AArch64: Fix range loop contradicting comment above itMatt Arsenault2016-06-161-1/+2
| | | | llvm-svn: 272959
* AMDGPU/SI: Propagate the Kill flag in storeRegToStackSlot and ↵Changpeng Fang2016-06-163-15/+29
| | | | | | | | | | eliminateFrameIndex Reviewers: arsenm, tstellarAMD Differential Revision: http://reviews.llvm.org/21438 llvm-svn: 272958
* Revert "Refactor and cleanup Assembly Parsing / Lexing"Nirav Dave2016-06-169-165/+135
| | | | | | | | Reverting for unexpected crashes on various platforms. This reverts commit r272953. llvm-svn: 272957
* AMDGPU: Fix maximum instruction size for amdgcnMatt Arsenault2016-06-161-1/+3
| | | | | | | This was causing the conservative estimate of inline asm size to be twice as big as expected. llvm-svn: 272956
* [EarlyCSE] Minor cosmetic NFC changesSanjoy Das2016-06-161-2/+2
| | | | | | | - Avoid implicit conversion from pointer to bool - Add a comment when passing in a boolean value llvm-svn: 272955
* [EarlyCSE] Fold invariant loadsSanjoy Das2016-06-162-8/+121
| | | | | | | | Redundant invariant loads can be CSE'ed with very little extra effort over what early-cse already tracks, so it looks reasonable to make early-cse handle this case. llvm-svn: 272954
* Refactor and cleanup Assembly Parsing / LexingNirav Dave2016-06-169-135/+165
| | | | | | | | | | | | | | | | | | | | | | | Add explicit Comment Token in Assembly Lexing for future support for outputting explicit comments from inline assembly. As part of this, CPPHash Directives are now explicitly distinguished from Hash line comments in Lexer. Line comments are recorded as EndOfStatement tokens, not Comment tokens to simplify compatibility with current TargetParsers. This slightly complicates comment output. This remove all lexing tasks out of the parser, does minor cleanup to remove extraneous newlines Asm Output, and some improvements white space handling. Reviewers: rtrieu, dwmw2, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20009 llvm-svn: 272953
* Change hwloc discovery algorithm to print topology only for accessible resourcesJonathan Peyton2016-06-161-17/+29
| | | | | | | | | | | | | Change hwloc discovery algorithm to print topology for only accessible resources, and report uniformity correspondingly, similar to what other topology discovery algorithms do. Fixes minor inconsistency in total topology reported and resources used for threads binding in case hwloc used. Patch by Andrey Churbanov. Differential Revision: http://reviews.llvm.org/D21389 llvm-svn: 272952
* Teach OpenMP Library to use Hwloc on WindowsJonathan Peyton2016-06-165-63/+116
| | | | | | | | | | | | | | | | | | | This patch allows a user to enable Hwloc on windows. There are three main changes in here: 1.kmp.h - Move definitions/declarations out of KMP_OS_WINDOWS guard (our windows implementation of affinity) because they need to be defined when KMP_USE_HWLOC is on as well. 2.teach __kmp_set_system_affinity, __kmp_get_system_affinity, __kmp_get_proc_group, and __kmp_affinity_bind_thread how to use hwloc. 3.teach CMake how to include hwloc when building Windows Another minor change in here is to make sure that anything under KMP_USE_HWLOC is also guarded by KMP_AFFINITY_SUPPORTED as well. This is to prevent Mac builds from requiring anything from Hwloc. Differential Revision: http://reviews.llvm.org/D21441 llvm-svn: 272951
* Fix for crash in task dependenciesJonathan Peyton2016-06-161-1/+1
| | | | | | | | | | | | With single thread using __kmpc_omp_wait_deps segfaults in OpenMP runtime. Offloading with depend also encounters this problem when we generate kmpc_omp_wait_deps instead of kmpc_omp_task_with_deps. Patch by Alex Duran Differential Revision: http://reviews.llvm.org/D21384 llvm-svn: 272949
* [libFuzzer] use the new chainable malloc hooks instead of the old ↵Kostya Serebryany2016-06-163-39/+32
| | | | | | un-chainable ones, use atomic for malloc/free counters instead of a thread local counter in the main thread. This should make on-the-spot leak detection in libFuzzer more reliable llvm-svn: 272948
* Minor fixes for miamcpu-opt.c testArtem Belevich2016-06-161-6/+9
| | | | | | | Added -no-canonical-prefixes to make cc1 binary name more predictable. Added appropriate REQUIRES keywords. llvm-svn: 272947
* Fixed missing memory cleanup in __kmp_affinity_create_hwloc_map()Jonathan Peyton2016-06-161-0/+2
| | | | | | | | | | | Cleanup: fixed missing memory cleanup in couple of corner cases. Fixes possible memory leak in some corner cases Patch by Andrey Churbanov Differential Revision: http://reviews.llvm.org/D21355 llvm-svn: 272946
OpenPOWER on IntegriCloud