summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Follow-up to r300225: update ClangFormat.sln to VS2017Hans Wennborg2017-04-131-2/+2
| | | | | | This got lost in the previous patch somehow. llvm-svn: 300226
* Warning-free clang-format plugin install for VS 15.0Hans Wennborg2017-04-133-81/+24
| | | | | | | | | | | | | | | | | | | | With the new release of VS, it's required that all plugins migrate to the new VSIX manifest format. The new format is backwards compatible with all versions newer that Visual Studio 2012, so this migration effectively drops support for older versions of the IDE. It's also required that these new extensions are built with Visual Studio 2017, so unfortunately it was necessary to migrate the project and solution. Also removed COM references to EnvDTE and Microsoft.VisualStudio.TextManager.Interop from the csproj, as they seem to both be unnecessary and would trigger build warnings because of changes to GAC. Patch by Hugo Puhlmann! Differential Revision: https://reviews.llvm.org/D31740 llvm-svn: 300225
* [APSInt] Remove named And/Or/Xor methods.Craig Topper2017-04-131-3/+0
| | | | | | No one uses them and I may improve the operator&, operator|, and operator^ to better reuse memory allocations like APInt. llvm-svn: 300224
* clang-format-vs: Use a separate license.txt copyHans Wennborg2017-04-133-7/+40
| | | | | | | The regular file used to display very poorly in the VSIX installer due to long lines, wrapping etc. llvm-svn: 300223
* [InstCombine] use similar ops for related folds; NFCISanjay Patel2017-04-131-10/+9
| | | | | | | | | | | | | | | It's less efficient to produce 'ule' than 'ult' since we know we're going to canonicalize to 'ult', but we shouldn't have duplicated code for these folds. As a trade-off, this was a pretty terrible way to make a '2'. :) if (LHSC == SubOne(RHSC)) AddC = ConstantExpr::getSub(AddOne(RHSC), LHSC); The next steps are to share the code to fix PR32524 and add the missing 'and' fold that was left out when PR14708 was fixed: https://bugs.llvm.org/show_bug.cgi?id=14708 llvm-svn: 300222
* Don't assume PTHREAD_CREATE_JOINABLE is 0 on all systemsFrancis Ricci2017-04-134-13/+12
| | | | | | | | | | | | | | | | | Summary: Lsan was using PTHREAD_CREATE_JOINABLE/PTHREAD_CREATE_DETACHED as truthy values, which works on Linux, where the values are 0 and 1, but this fails on OS X, where the values are 1 and 2. Set PTHREAD_CREATE_DETACHED to the correct value for a given system. Reviewers: kcc, glider, kubamracek, alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31883 llvm-svn: 300221
* KMP_HW_SUBSET extended with NUMA support when HWLOC enabledAndrey Churbanov2017-04-137-380/+834
| | | | | | Differential Revision: https://reviews.llvm.org/D31600 llvm-svn: 300220
* [APInt] Fix the returns description for the postfix increment/decrement ↵Craig Topper2017-04-131-2/+6
| | | | | | operators. NFC llvm-svn: 300219
* Implement LWG#2855 - made easy by previous refactoringMarshall Clow2017-04-133-4/+14
| | | | llvm-svn: 300218
* Revert r300213 "[APSInt] Add a static_assert to ensure APSInt is packed well ↵Craig Topper2017-04-131-3/+1
| | | | | | | | with APInt after r300171" MSVC doesn't pack derived classes the same way clang/gcc do. llvm-svn: 300217
* Cache size per class size in SizeClassAllocatorXLocalCache.Alex Shlyapnikov2017-04-131-4/+8
| | | | | | | | | | | | | | | Summary: Allocator::ClassIdToSize() is not free and calling it in every Allocate/Deallocate has noticeable impact on perf. Reapplying D31991 with the appropriate fixes. Reviewers: cryptoad Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D32024 llvm-svn: 300216
* [Analysis] Support bitreverse in -demanded-bits passBrian Gesiak2017-04-133-0/+66
| | | | | | | | | | | | | | | | | | | | Summary: * Add a bitreverse case in the demanded bits analysis pass. * Add tests for the bitreverse (and bswap) intrinsic in the demanded bits pass. * Add a test case to the BDCE tests: that manipulations to high-order bits are eliminated once the bits are reversed and then right-shifted. Reviewers: mkuper, jmolloy, hfinkel, trentxintong Reviewed By: jmolloy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31857 llvm-svn: 300215
* Use the clang-cl recognized spelling of --target=Reid Kleckner2017-04-131-3/+3
| | | | | | This fixes a warning. The test was passing without this change. llvm-svn: 300214
* [APSInt] Add a static_assert to ensure APSInt is packed well with APInt ↵Craig Topper2017-04-131-1/+3
| | | | | | after r300171. llvm-svn: 300213
* [DeLICM] Introduce unittesting infrastructure for Known and Written. NFC.Michael Kruse2017-04-131-53/+126
| | | | llvm-svn: 300212
* [DeLICM] Export Known and Written to DeLICMTests. NFC.Michael Kruse2017-04-133-20/+38
| | | | | | | This will allow unittesting of new functionality based on Known and Written. llvm-svn: 300211
* [DeLICM] Add Knowledge::Known. NFC.Michael Kruse2017-04-131-2/+29
| | | | | | | This field will later contain a ValInst that is known to be stored in an occupied array element. llvm-svn: 300210
* Re-land "[clang-cl] Make all sanitizer flags available in clang-cl"Reid Kleckner2017-04-132-24/+41
| | | | | | | | | | Adding RUN lines with %clang_cl was causing these tests to fail on Mac because absolute paths there tend to start with "/User/", which is recognized as the "/U" flag. Re-lands r300122 llvm-svn: 300209
* [DeLICM] Make Knowledge::Written an isl::union_map. NFC.Michael Kruse2017-04-131-14/+21
| | | | | | The map will later point to a ValInst that is written. llvm-svn: 300208
* [DeLICM] Rename Knowledge to KnowledgeStr. NFC.Michael Kruse2017-04-131-3/+4
| | | | | | | Some debuggers get confused by different class of the same name defined independently in different translation units. llvm-svn: 300207
* [libc++] Explicitly set output directory for DLLShoaib Meenai2017-04-131-0/+1
| | | | | | | DLLs on Windows are treated as runtime targets. Explicitly set the output directory for them, to be consistent with other platforms. llvm-svn: 300206
* LTO: Pass SF_Executable flag through to InputFile::SymbolTobias Edler von Koch2017-04-135-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The linker needs to be able to determine whether a symbol is text or data to handle the case of a common being overridden by a strong definition in an archive. If the archive contains a text member of the same name as the common, that function is discarded. However, if the archive contains a data member of the same name, that strong definition overrides the common. This is a behavior of ld.bfd, which the Qualcomm linker also supports in LTO. Here's a test case to illustrate: #### cat > 1.c << \! int blah; ! cat > 2.c << \! int blah() { return 0; } ! cat > 3.c << \! int blah = 20; ! clang -c 1.c clang -c 2.c clang -c 3.c ar cr lib.a 2.o 3.o ld 1.o lib.a -t #### The correct output is: 1.o (lib.a)3.o Thanks to Shankar Easwaran and Hemant Kulkarni for the test case! Reviewers: mehdi_amini, rafael, pcc, davide Reviewed By: pcc Subscribers: davide, llvm-commits, inglorion Differential Revision: https://reviews.llvm.org/D31901 llvm-svn: 300205
* Enable LSan on PowerPC64.Alex Shlyapnikov2017-04-133-4/+6
| | | | | | | | | | | | | | Summary: With D31555 commited, looks like basic LSan functionality works on PPC64. Time to enable LSan there. Reviewers: eugenis Subscribers: nemanjai, llvm-commits Differential Revision: https://reviews.llvm.org/D31995 llvm-svn: 300204
* [Hexagon] Unxfail passing tests Krzysztof Parzyszek2017-04-132-4/+0
| | | | | | | r300198 fixed a problem that caused two tests to be xfailed. Unxfail these tests now, since they are passing. llvm-svn: 300203
* [InstCombine] fix assert to not always be trueSanjay Patel2017-04-131-1/+1
| | | | llvm-svn: 300202
* [InstCombine] add/move tests for or-of-icmps; NFCSanjay Patel2017-04-132-26/+61
| | | | | | | If we had these tests, the bug caused by https://reviews.llvm.org/rL299851 would have been caught sooner. There's also an assert in the code that should have caught that bug, but the assert line itself has a bug. llvm-svn: 300201
* Re-apply "[GVNHoist] Move GVNHoist to function simplification part of pipeline."Geoff Berry2017-04-132-2/+40
| | | | | | This reverts commit r296872 now that PR32153 has been fixed. llvm-svn: 300200
* [Hexagon] Implement HexagonTargetLowering::CanLowerReturnKrzysztof Parzyszek2017-04-132-12/+18
| | | | | | | | Patch by Michael Wu. Differential Revision: https://reviews.llvm.org/D32000 llvm-svn: 300199
* [Hexagon] Fix "LowerFormalArguments emitted a value with the wrong type!" ↵Krzysztof Parzyszek2017-04-131-1/+1
| | | | | | | | | | assertion Patch by Michael Wu. Differential Revision: https://reviews.llvm.org/D31999 llvm-svn: 300198
* Refactor throw_with_nested. NFC.Marshall Clow2017-04-131-31/+39
| | | | llvm-svn: 300197
* Use methods to access data stored with frame instructionsSerge Pavlov2017-04-139-46/+61
| | | | | | | | | | | | | Instructions CALLSEQ_START..CALLSEQ_END and their target dependent counterparts keep data like frame size, stack adjustment etc. These data are accessed by getOperand using hard coded indices. It is error prone way. This change implements the access by special methods, which improve readability and allow changing data representation without massive changes of index values. Differential Revision: https://reviews.llvm.org/D31953 llvm-svn: 300196
* Free zone name when destroying malloc zoneFrancis Ricci2017-04-131-0/+3
| | | | | | | | | | | | | | | Summary: The darwin interceptor for malloc_destroy_zone manually frees the zone struct, but does not free the name component. Make sure to free the name if it has been set. Reviewers: kubamracek, alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31983 llvm-svn: 300195
* [lsan] Reenable lsan tests on ARM botsMaxim Ostapenko2017-04-132-4/+3
| | | | | | | | | | | | | | | | | | This patch addresses pr32636. Enable lsan tests on ARM bots filtering out Thumb targets. Tested locally on ARM Arndale board in two configurations: 1) CFLAGS="-march=armv7-a" Testing Time: 37.57s Expected Passes : 69 Unsupported Tests : 7 2) CFLAGS="-march=armv7-a -mthumb" Testing Time: 0.16s Unsupported Tests : 76 Differential Revision: https://reviews.llvm.org/D32007 llvm-svn: 300194
* llvm/test/BugPoint/compile-custom.ll: Use %/s for its path not to be ↵NAKAMURA Takumi2017-04-131-1/+1
| | | | | | mis-escaped. llvm-svn: 300193
* [ELF] Tidy up handleARMTlsRelocation [NFC]Peter Smith2017-04-132-19/+18
| | | | | | | | | Replace addModuleReloc with AddTlsReloc so that we can use it for both the module relocation and the offset relocation. Differential Revision: https://reviews.llvm.org/D31751 llvm-svn: 300192
* Add TEST_NOEXCEPT_FALSE to support D31738Eric Fiselier2017-04-131-0/+2
| | | | llvm-svn: 300191
* [X86] Added missing mayLoad/mayStore attributes to some X86 instructions.Ayman Musa2017-04-137-19/+55
| | | | | | | | | Throughout the effort of automatically generating the X86 memory folding tables these missing information were encountered. This is a preparation work for a future patch including the automation of these tables. Differential Revision: https://reviews.llvm.org/D31714 llvm-svn: 300190
* [analyzer] Enforce super-region classes for various memory regions.Artem Dergachev2017-04-138-93/+124
| | | | | | | | | | | | We now check the type of the super-region pointer for most SubRegion classes in compile time; some checks are run-time though. This is an API-breaking change (we now require explicit casts to specific region sub-classes), but in practice very few checkers are affected. Differential Revision: https://reviews.llvm.org/D26838 llvm-svn: 300189
* [DWARF] - Simplify (use dyn_cast instead of isa + cast).George Rimar2017-04-131-2/+2
| | | | | | This addresses post commit review comments for r300039. llvm-svn: 300188
* [analyzer] Add numerous assertions to SVal, SymExpr, and MemRegion classes.Artem Dergachev2017-04-136-119/+230
| | | | | | | | | | | | | | Clean up vtable anchors (remove anchors for regions that have regular out-of-line virtual methods, add anchors for regions that don't have those). Fix private/public methods (all constructors should now be private for leaf classes, protected for abstract classes). No functional change intended, only extra sanity checks and cleanups. Differential Revision: https://reviews.llvm.org/D26837 llvm-svn: 300187
* [globalisel][tablegen] Report more detail in some SelectionDAG import ↵Daniel Sanders2017-04-131-19/+98
| | | | | | | | | | | | | | failures. NFC Reviewers: ab, t.p.northover, qcolombet, aditya_nandakumar, rovka Reviewed By: ab Subscribers: dberris, kristof.beyls, igorb, llvm-commits Differential Revision: https://reviews.llvm.org/D31325 llvm-svn: 300186
* Reverting cmake/modules/AddLLVM.cmake changes from revision 300184 (Added by ↵Ayman Musa2017-04-131-2/+1
| | | | | | mistake). llvm-svn: 300185
* [X86] Change instructions names to keep consistency with the naming ↵Ayman Musa2017-04-132-3/+4
| | | | | | | | convention. NFC Differential Revision: https://reviews.llvm.org/D31743 llvm-svn: 300184
* [LV] Refactor ILV to provide vectorizeInstruction(); NFCAyal Zaks2017-04-131-310/+302
| | | | | | | | | | | Refactoring InnerLoopVectorizer's vectorizeBlockInLoop() to provide vectorizeInstruction(). Aligning DeadInstructions with its only user. Facilitates driving the transformation by VPlan - follows https://reviews.llvm.org/D28975 and its tentative breakdown. Differential Revision: https://reviews.llvm.org/D31997 llvm-svn: 300183
* [ELF] Mark ARM Exceptions that refer to folded code as not livePeter Smith2017-04-132-0/+40
| | | | | | | | | | | | | | | | | | ARM Exception Index Table sections .ARM.exidx have an implicit dependency on code sections via SHF_LINK_ORDER. When code sections are folded by ICF we must mark the unique .ARM.exidx table that describes it as not live to prevent an illegal entry in the exception table. Note that we do not try and follow the relocations from the .ARM.exidx section to the .ARM.extab sections to mark these as not live. Leaving these sections is not a correctness problem. In theory these could be removed via an application of garbage collection. Fixes https://bugs.llvm.org/show_bug.cgi?id=32614 Differential Revision: https://reviews.llvm.org/D31932 llvm-svn: 300182
* Revert "[clang-cl] Make all sanitizer flags available in clang-cl"Akira Hatanaka2017-04-132-41/+24
| | | | | | | | | | This reverts commit 47979b20b475664013d19382fc6875b5b9f3ed9d. This was causing a couple of bots to fail. http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/30152 llvm-svn: 300181
* Revert "Cache size per class size in SizeClassAllocatorXLocalCache."Diana Picus2017-04-131-8/+4
| | | | | | | This reverts commit r300107 because it broke the ARM and AArch64 buildbots. llvm-svn: 300180
* Fix typo in static_assert message. NFCCraig Topper2017-04-131-1/+1
| | | | llvm-svn: 300179
* [analyzer] Simplify values in binary operations a bit more aggressively.Artem Dergachev2017-04-133-5/+96
| | | | | | | | | | | | | | | | | SValBuilder tries to constant-fold symbols in the left-hand side of the symbolic expression whenever it fails to evaluate the expression directly. However, it only constant-folds them when they are atomic expressions, not when they are complicated expressions themselves. This patch adds recursive constant-folding to the left-hand side subexpression (there's a lack of symmetry because we're trying to have symbols on the left and constants on the right). As an example, we'd now be able to handle operations similar to "$x + 1 < $y", when $x is constrained to a constant. rdar://problem/31354676 Differential Revision: https://reviews.llvm.org/D31886 llvm-svn: 300178
* [ORC] Temporarily disable the RPC Error/Expected unit tests while I investigateLang Hames2017-04-131-133/+135
| | | | | | bot failures. llvm-svn: 300177
OpenPOWER on IntegriCloud