summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "[XRay] ARM 32-bit no-Thumb support in compiler-rt"Renato Golin2016-09-089-423/+117
| | | | | | This reverts commit r280890, as the related LLVM commit broke the thumb bots. llvm-svn: 280969
* Revert "[XRay] ARM 32-bit no-Thumb support in Clang"Renato Golin2016-09-081-13/+0
| | | | | | | This reverts commit r280889, as the original LLVM commits broke the thumb buildbots. llvm-svn: 280968
* Revert "[XRay] ARM 32-bit no-Thumb support in LLVM"Renato Golin2016-09-0817-317/+62
| | | | | | | | | | And associated commits, as they broke the Thumb bots. This reverts commit r280935. This reverts commit r280891. This reverts commit r280888. llvm-svn: 280967
* [LoopDataPrefetch] Use range based for loop; NFCIBalaram Makam2016-09-081-17/+12
| | | | | | | Switch to range based for loop. No functional change, but more readable code. llvm-svn: 280966
* Fix MSVC error from r280919Pavel Labath2016-09-081-4/+4
| | | | | | MSVC did not understand my brace-initializer syntax. :/ llvm-svn: 280965
* [InstCombine] return a vector-safe true/false constantSanjay Patel2016-09-081-2/+2
| | | | | | | | | | | I introduced this potential bug by missing this diff in: https://reviews.llvm.org/rL280873 ...however, I'm not sure how to reach this code path with a regression test. We may be able to remove this code and assume that the transform to a constant is always handled by InstSimplify? llvm-svn: 280964
* Add unittest for r280760Dehao Chen2016-09-081-0/+31
| | | | llvm-svn: 280963
* Fix linker warning about sanitizer_common_nolibc functions on WindowsReid Kleckner2016-09-081-0/+4
| | | | llvm-svn: 280962
* Replace nextafter implementationMatt Arsenault2016-09-082-28/+29
| | | | | | This one passes conformance. llvm-svn: 280961
* [InstCombine][X86] Regenerate masked memory op combine testsSimon Pilgrim2016-09-081-88/+114
| | | | llvm-svn: 280960
* [InstCombine][X86] Regenerate vperm2f128/vperm2i128 combine testsSimon Pilgrim2016-09-081-86/+116
| | | | llvm-svn: 280959
* Really fix warnings about passing -std=gnu99 to MSVCReid Kleckner2016-09-081-2/+3
| | | | llvm-svn: 280958
* [InstCombine][X86] Regenerate insertps combine testsSimon Pilgrim2016-09-081-43/+59
| | | | llvm-svn: 280957
* [Coverage] Delete some dead code (NFC)Vedant Kumar2016-09-082-14/+0
| | | | llvm-svn: 280956
* Add streamexecutor-configJason Henline2016-09-084-1/+215
| | | | | | | | | | | | | | Summary: Similar to llvm-config, gets command-line flags that are needed to build applications linking against StreamExecutor. Reviewers: jprice, jlebar Subscribers: beanz, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24302 llvm-svn: 280955
* Revert "[ESan][MIPS] Adds support for MIPS64"Qin Zhao2016-09-0813-175/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This reverts commit 62b3eecdbe72af0255f0639b0446087a47efbf48. (D23799) The CL cause 13 ESan test failure on x86_64: Failing Tests (13): EfficiencySanitizer-x86_64 :: TestCases/large-stack-linux.c EfficiencySanitizer-x86_64 :: TestCases/libc-intercept.c EfficiencySanitizer-x86_64 :: TestCases/mmap-shadow-conflict.c EfficiencySanitizer-x86_64 :: TestCases/struct-simple.cpp EfficiencySanitizer-x86_64 :: TestCases/verbose-simple.c EfficiencySanitizer-x86_64 :: TestCases/workingset-early-fault.c EfficiencySanitizer-x86_64 :: TestCases/workingset-memset.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-midreport.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-samples.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-signal-posix.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-simple.cpp EfficiencySanitizer-x86_64 :: Unit/circular_buffer.cpp EfficiencySanitizer-x86_64 :: Unit/hashtable.cpp Unexpected Failures: 13 Reviewers: bruening, slthakur Subscribers: sdardis, kubabrecka, beanz Differential Revision: https://reviews.llvm.org/D24350 llvm-svn: 280954
* [compiler-rt] Don't use -fPIC when building for WindowsFrancis Ricci2016-09-081-1/+3
| | | | | | | | | | | | Summary: This flag doesn't make sense on Windows systems. Reviewers: beanz, kubabrecka, compnerd Subscribers: dberris, llvm-commits, beanz Differential Revision: https://reviews.llvm.org/D24320 llvm-svn: 280953
* [TableGen] AsmMatcher: Add AsmVariantName to Instruction class.Sam Kolton2016-09-083-0/+67
| | | | | | | | | | | | | | Summary: This allows specifying instructions that are available only in specific assembler variant. If AsmVariantName is specified then instruction will be presented only in MatchTable for this variant. If not specified then assembler variants will be determined based on AsmString. Also this allows splitting assembler match tables in same way as it is done in dissasembler. Reviewers: ab, tstellarAMD, craig.topper, vpykhtin Subscribers: wdng Differential Revision: https://reviews.llvm.org/D24249 llvm-svn: 280952
* Remove restriction that 'sret' must be on the first parameterReid Kleckner2016-09-081-4/+3
| | | | | | | | | | On Windows, it is often applied to the second parameter, and the x86 backend is prepared to deal with sret appearing on any parameter. Other backends assume it only appears on parameter zero, but those are target-specific requirements, and not an IR-level rule. llvm-svn: 280951
* Give an x86 assembler test a tripleReid Kleckner2016-09-081-1/+1
| | | | llvm-svn: 280950
* revert r280427Dehao Chen2016-09-083-10/+6
| | | | | | | Refactor replaceDominatedUsesWith to have a flag to control whether to replace uses in BB itself. Summary: This is in preparation for LoopSink pass which calls replaceDominatedUsesWith to update after sinking. llvm-svn: 280949
* Add -polly-flatten-schedule pass.Michael Kruse2016-09-0814-10/+1093
| | | | | | | | | | | | | | | | | | | | | | | | | The -polly-flatten-schedule pass reduces the number of scattering dimensions in its isl_union_map form to make them easier to understand. It is not meant to be used in production, only for debugging and regression tests. To illustrate, how it can make sets simpler, here is a lifetime set used computed by the porposed DeLICM pass without flattening: { Stmt_reduction_for[0, 4] -> [0, 2, o2, o3] : o2 < 0; Stmt_reduction_for[0, 4] -> [0, 1, o2, o3] : o2 >= 5; Stmt_reduction_for[0, 4] -> [0, 1, 4, o3] : o3 > 0; Stmt_reduction_for[0, i1] -> [0, 1, i1, 1] : 0 <= i1 <= 3; Stmt_reduction_for[0, 4] -> [0, 2, 0, o3] : o3 <= 0 } And here the same lifetime for a semantically identical one-dimensional schedule: { Stmt_reduction_for[0, i1] -> [2 + 3i1] : 0 <= i1 <= 4 } Differential Revision: https://reviews.llvm.org/D24310 llvm-svn: 280948
* Handle globs in global symbol names.Rafael Espindola2016-09-082-1/+58
| | | | | | Fixes pr28775. llvm-svn: 280947
* GICHelper: Correctly assign return valueTobias Grosser2016-09-081-1/+1
| | | | | | | | | | ... to preserve reference counting logic. In practice the missing assignment would not have caused any issues. We still fix it as the code is wrong and it also causes noise in the clang static analysis runs. llvm-svn: 280946
* [asan] Fix handle_abort_on_error.cc test on DarwinKuba Brecka2016-09-081-0/+2
| | | | | | | | r280885 added a testcase for handle_abort, which is broken on macOS, let’s add this support into sanitizer_mac.cc. Differential Revision: https://reviews.llvm.org/D24344 llvm-svn: 280945
* Added 'inline' attribute to basic_string's destructorAditya Kumar2016-09-081-0/+1
| | | | | | | | | | | | | | | Author: laxmansole Reviewers: howard.hinnant mclow.lists Subscribers: EricWF, flyingforyou, evandro Differential Revision: https://reviews.llvm.org/D22834 Currently basic_string's destructor is not getting inlined. So adding 'inline' attribute to ~basic_string(). Worked in collaboration with Aditya Kumar. llvm-svn: 280944
* SCEVAffinator: Add missing __isl_take annotationsTobias Grosser2016-09-081-1/+2
| | | | llvm-svn: 280943
* Fix for rL280668, Intel(R) Memory Protection Extensions (Intel(R) MPX) support.Valentina Giusti2016-09-0817-21/+639
| | | | | | | | | | | | Summary: Signed-off-by: Valentina Giusti <valentina.giusti@intel.com> Reviewers: dvlahovski, granata.enrico, clayborg, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24255 llvm-svn: 280942
* Use a protected destructor instead of a virtual one.Rafael Espindola2016-09-081-1/+3
| | | | llvm-svn: 280941
* ScopInfo: Make clear that no double-free problem existsTobias Grosser2016-09-081-1/+3
| | | | | | | | | | | | | When running the clang static analyser to check for memory issues, this code originally showed a double free, as the analyser was unable to understand that isl_set_free always returns NULL and consequently later uses of the isl object we just freed will never be reached. Without this knowledge, the analyser has to issue a warning. We refactor the code to make it clear that for empty maps the current loop iteration is aborted. llvm-svn: 280940
* ScopDetection: Make sure we do not accidentally divide by zeroTobias Grosser2016-09-081-0/+3
| | | | | | | This code path is likely never triggered, but by still handling this case locally we avoid warnings in clangs static analyzer. llvm-svn: 280939
* DependenceInfo: Make clear that no double-free problem existsTobias Grosser2016-09-081-1/+3
| | | | | | | | | | | | | When running the clang static analyser to check for memory issues, this code originally showed a double free, as the analyser was unable to understand that isl_union_map_free always returns NULL and consequently later uses of the isl object we just freed will never be reached. Without this knowledge, the analyser has to issue a warning. We refactor the code to make it clear that for empty maps the current loop iteration is aborted. llvm-svn: 280938
* Compute section names only once.Rafael Espindola2016-09-088-96/+102
| | | | | | | | This simplifies error handling as there is now only one place in the code that needs to consider the possibility that the name is corrupted. Before we would do it in every access. llvm-svn: 280937
* IslNodeBuilder: Add missing __isl_take annotationsTobias Grosser2016-09-081-2/+3
| | | | llvm-svn: 280936
* [ARM XRay] Try to fix Thumb-only failureRenato Golin2016-09-081-1/+1
| | | | | | | I mised the check that it had to support ARM to work. This commit tries to fix that, to make sure we don't emit ARM code in Thumb-only mode. llvm-svn: 280935
* [asan] Handle SIGBART signal description. (found by buildbot)Filipe Cabecinhas2016-09-081-0/+2
| | | | llvm-svn: 280934
* Fix -Wcovered-switch-default warning in AppleObjCRuntimeV2.cppEd Maste2016-09-081-2/+0
| | | | | | | | The switch coveres all possible values. If a new one is added in the future the compiler will start warning, providing a notification that the switch needs updating. llvm-svn: 280933
* [SDAGBuilder] Don't create a binary tree for switches in minsize modeJames Molloy2016-09-082-1/+36
| | | | | | This bloats codesize - all of the non-leaf nodes are extra code. llvm-svn: 280932
* Fix unused variable and integer sign warnings from r280906Ed Maste2016-09-081-3/+2
| | | | llvm-svn: 280931
* [asan] Reify ErrorDeadlySignalFilipe Cabecinhas2016-09-087-71/+125
| | | | | | | | | | | | Summary: Keep reifying other errors. Reviewers: kcc, samsonov Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D23873 llvm-svn: 280930
* [Thumb1] AND with a constant operand can be converted into BICJames Molloy2016-09-082-0/+22
| | | | | | | So model the cost of materializing the constant operand C as the minimum of C and ~C. llvm-svn: 280929
* [Thumb1] Fix cost calculation for complemented immediatesJames Molloy2016-09-082-1/+22
| | | | | | | | | | | | Materializing something like "-3" can be done as 2 instructions: MOV r0, #3 MVN r0, r0 This has a cost of 2, not 3. It looks like we were already trying to detect this pattern in TII::getIntImmCost(), but were taking the complement of the zero-extended value instead of the sign-extended value which is unlikely to ever produce a number < 256. There were no tests failing after changing this... :/ llvm-svn: 280928
* [SelectionDAG] Add BUILD_VECTOR support to computeKnownBits and ↵Simon Pilgrim2016-09-085-14/+57
| | | | | | | | | | | | SimplifyDemandedBits Add the ability to computeKnownBits and SimplifyDemandedBits to extract the known zero/one bits from BUILD_VECTOR, returning the known bits that are shared by every vector element. This is an initial step towards determining the sign bits of a vector (PR29079). Differential Revision: https://reviews.llvm.org/D24253 llvm-svn: 280927
* [DAGCombiner] Enable AND combines of splatted constant vectorsSimon Pilgrim2016-09-082-11/+9
| | | | | | | | Allow AND combines to use a vector splatted constant as well as a constant scalar. Preliminary part of D24253. llvm-svn: 280926
* Pack InputSectionData from 72 to 64 bytes. NFC.Rafael Espindola2016-09-083-12/+19
| | | | llvm-svn: 280925
* LLDB: API for iPermission of object file's sectionsAbhishek Aggarwal2016-09-083-0/+27
| | | | | | | | | | | | | | | | | | Summary: - Added an API to public interface that provides permissions (RWX) of individual sections of an object file - Earlier, there was no way to find out this information through SB APIs - A possible use case of this API is: when a user wants to know the sections that have executable machine instructions and want to write a tool on top of LLDB based on this information - Differential Revision: https://reviews.llvm.org/D24251 llvm-svn: 280924
* ScopInfo: Add missing __isl_take annotationTobias Grosser2016-09-081-1/+1
| | | | llvm-svn: 280923
* Fix test breakage in r280919Pavel Labath2016-09-081-1/+5
| | | | | | | | | | | It turns out that self.dbg.GetSelectedPlatform().GetTriple() is not a good way to get the triple of the process, as it returns the incorrect triple in case of a 32-bit process running on a 64-bit platform. Instead, go the long way round and ask the stub for the process triple. This fixes the test for i386. llvm-svn: 280922
* Moved unreachable to appease msvc, gcc and clangSimon Pilgrim2016-09-081-3/+2
| | | | llvm-svn: 280921
* [tsan] Support C++11 call_once in TSan on DarwinKuba Brecka2016-09-082-0/+61
| | | | | | | | This patch adds a wrapper for call_once, which uses an already-compiled helper __call_once with an atomic release which is invisible to TSan. To avoid false positives, the interceptor performs an explicit atomic release in the callback wrapper. Differential Revision: https://reviews.llvm.org/D24188 llvm-svn: 280920
OpenPOWER on IntegriCloud