summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [asan] Rename the ABI versioning symbol to '__asan_version_mismatch_check' ↵Kuba Brecka2015-07-236-7/+15
| | | | | | | | | | instead of abusing '__asan_init' We currently version `__asan_init` and when the ABI version doesn't match, the linker gives a `undefined reference to '__asan_init_v5'` message. From this, it might not be obvious that it's actually a version mismatch error. This patch makes the error message much clearer by changing the name of the undefined symbol to be `__asan_version_mismatch_check_xxx` (followed by the version string). We obviously don't want the initializer to be named like that, so it's a separate symbol that is used only for the purpose of version checking. Reviewed at http://reviews.llvm.org/D11004 llvm-svn: 243004
* [asan] Rename the ABI versioning symbol to '__asan_version_mismatch_check' ↵Kuba Brecka2015-07-234-7/+19
| | | | | | | | | | instead of abusing '__asan_init' We currently version `__asan_init` and when the ABI version doesn't match, the linker gives a `undefined reference to '__asan_init_v5'` message. From this, it might not be obvious that it's actually a version mismatch error. This patch makes the error message much clearer by changing the name of the undefined symbol to be `__asan_version_mismatch_check_xxx` (followed by the version string). We obviously don't want the initializer to be named like that, so it's a separate symbol that is used only for the purpose of version checking. Reviewed at http://reviews.llvm.org/D11004 llvm-svn: 243003
* [ELF] Apply segments from linker scriptsDenis Protivensky2015-07-2317-108/+398
| | | | | | | | | | | | | | Put sections to segments according to linker scripts if available. Rework the code of TargetLayout::assignSectionsToSegments so it operates on the given list of segments, which can be either read from linker scripts or constructed as before. Handle NONE segments defined in linker scripts by putting corresponding sections to PT_NULL segment. Consider flags set for segments through linker scripts. Differential Revision: http://reviews.llvm.org/D10918 llvm-svn: 243002
* [X86] Fix order of operands for ins and outs instructions when parsing intel ↵Michael Kuperstein2015-07-232-28/+42
| | | | | | | | | syntax Patch by: marina.yatsina@intel.com Differential Revision: http://reviews.llvm.org/D11337 llvm-svn: 243001
* Remove XFAIL from ReturnValueTestCase after rL242972Tamas Berghammer2015-07-231-1/+0
| | | | llvm-svn: 243000
* [GMR] Add a late run of GlobalsModRef to the main pass pipeline behindChandler Carruth2015-07-233-0/+22
| | | | | | | | | | | | | | | | | | | the general GMR-in-non-LTO flag. Without this, we have the global information during the CGSCC pipeline for GVN and such, but don't have it available during the late loop optimizations such as the vectorizer. Moreover, after the CGSCC pipeline has finished we have substantially more accurate and refined call graph information, function annotations, etc, which will make GMR even more powerful than it is early in the pipelien. Note that we have to play silly games with preserving AliasAnalysis (which is now trivially preserved) in order to let a module analysis magically be preserved into the entire function pass pipeline. Simultaneously we have to not make GMR an immutable pass in order to be able to re-run it and collect fresh data on the final call graph. llvm-svn: 242999
* Support printing relocations in files with no section table.Rafael Espindola2015-07-233-4/+21
| | | | llvm-svn: 242998
* Add jstopinfo support to llgsPavel Labath2015-07-234-71/+119
| | | | | | | | | | | | | | Summary: This adds support for jstopinfo field of stop-reply packets. This field enables us to avoid querying full thread stop data on most stops (see r242593 for more details). Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11415 llvm-svn: 242997
* [lldb-mi] Remove unwanted comment blocks.Bruce Mitchener2015-07-2376-359/+0
| | | | | | | | | | | | | | | Summary: This removes Authors:, Gotchas:, Changes: and Copyright:. It leaves a couple of Gotcha: blocks that were not empty. Reviewers: abidh, ki.stfu, domipheus Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11452 llvm-svn: 242996
* Use typdef to simplify the code. NFC.Rafael Espindola2015-07-231-40/+41
| | | | llvm-svn: 242995
* X86: Fixed assertion failure in 32-bit modeElena Demikhovsky2015-07-232-2/+14
| | | | | | | | | | The DAG Node "SCALAR_TO_VECTOR" may be created if the type of the scalar element is legal. Added a check for the scalar type before creating this node. Added a test that fails with assertion on the current version. Differential Revision: http://reviews.llvm.org/D11413 llvm-svn: 242994
* Avoid using -Wl,-z,defs on Cygwin.Yaron Keren2015-07-231-1/+1
| | | | | | | | | | | | Prior to CMAKE 2.8.4 that was covered by the WIN32 conditional but from 2.8.4 CMAKE no longer defined WIN32 when running under Cygwin and it needs its own test. Patch by Martell Malone! http://reviews.llvm.org/D11347 llvm-svn: 242993
* Revert r242990: "AVX-512: Implemented encoding , DAG lowering and ..."Chandler Carruth2015-07-2317-4649/+125
| | | | | | | | | | This commit broke the build. Numerous build bots broken, and it was blocking my progress so reverting. It should be trivial to reproduce -- enable the BPF backend and it should fail when running llvm-tblgen. llvm-svn: 242992
* [GMR] Switch the function info we store for every function to be a muchChandler Carruth2015-07-231-23/+91
| | | | | | | | | | | | | | more dense datastructure. We actually only have 3 bits of information and an often-null pointer here. This fits very nicely into a pointer-size value in the DenseMap from Function -> Info. Then we take one more pointer hop to get to a secondary DenseMap from GlobalValue -> ModRefInfo when we actually have precise info for particular globals. This is more code than I would really like to do this packing, but it ended up reasonably cleanly laid out. It should ensure we don't hit scaling limitations with more widespread use of GMR. llvm-svn: 242991
* AVX-512: Implemented encoding , DAG lowering and intrinsics for Integer ↵Igor Breger2015-07-2317-125/+4649
| | | | | | | | | | Truncate with/without saturation Added tests for DAG lowering ,encoding and intrinsic Differential Revision: http://reviews.llvm.org/D11218 llvm-svn: 242990
* [ScalarEvolution] Change addRequired to addRequiredTransitive on two passes ↵Craig Topper2015-07-231-2/+2
| | | | | | | | | | | where ScalarEvolution stores long lived raw pointers to objects those passes own. This prevents the pointers from dangling when those passes are freed. http://reviews.llvm.org/D11236 Patch by Steve King. llvm-svn: 242989
* Replace a 0 with nullptr. NFCCraig Topper2015-07-231-1/+1
| | | | llvm-svn: 242988
* AVX : Fix ISA disabling in case AVX512VL , some instructions should be ↵Igor Breger2015-07-233-17/+19
| | | | | | | | | | disabled only if AVX512BW and AVX512VL present. Tests added. Differential Revision: http://reviews.llvm.org/D11414 llvm-svn: 242987
* [X86][AVX512BW] add madd and maddubs intrinsicsAsaf Badouh2015-07-233-0/+87
| | | | | | Differential Revision: http://reviews.llvm.org/D11420 llvm-svn: 242986
* Fix the shell script check_clang_tidy.sh in r242984.NAKAMURA Takumi2015-07-231-2/+1
| | | | llvm-svn: 242985
* Appease test/clang-tidy/misc-unused-parameters.cpp for targeting *-win32, to ↵NAKAMURA Takumi2015-07-231-0/+2
| | | | | | | | | add -fno-delayed-template-parsing. Note, clang-tidy tests wouldn't run on Windows hosts since they are disabled with REQUIRES:shell. The failure would be raised with cross building. llvm-svn: 242984
* Remove unnecessary in C++11 c_str() callsYaron Keren2015-07-231-18/+1
| | | | | | | | While theoratically required in pre-C++11 to avoid re-allocation upon call, C++11 guarantees that c_str() returns a pointer to the internal array so pre-calling c_str() is no longer required. llvm-svn: 242983
* [NVPTX] run LSR before straight-line optimizationsJingyue Wu2015-07-231-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Straight-line optimizations can simplify the loop body and make LSR's cost analysis more precise. This significantly improves several Eigen3 CUDA benchmarks. With this change, EigenContractionKernel runs up to 40% faster (https://bitbucket.org/eigen/eigen/src/753ceee5f206ff7dde9f6a41a5a420749fc9406f/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h?at=default#cl-502). EigenConvolutionKernel2D runs up to 10% faster (https://bitbucket.org/eigen/eigen/src/753ceee5f206ff7dde9f6a41a5a420749fc9406f/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h?at=default#cl-605). I have some difficulties writing small tests that benefit from this reordering due to a seemingly issue with LSR (being discussed at http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-July/088244.html). See the review thread for the compilation time impact of GVN. Reviewers: eliben, jholewinski Subscribers: llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11304 llvm-svn: 242982
* Refactor duplicated code and check for invalid symbol table size.Rafael Espindola2015-07-233-34/+25
| | | | llvm-svn: 242981
* Add test to verify we emit warning when the deprecated virtual function is ↵Davide Italiano2015-07-231-0/+6
| | | | | | | | overloaded. Suggested by Richard Smith. llvm-svn: 242980
* Fix comment in test.Dawn Perchik2015-07-231-1/+1
| | | | llvm-svn: 242979
* Revert r242975.Evgeniy Stepanov2015-07-2310-101/+36
| | | | | | Breaks Mac build. llvm-svn: 242978
* ArrayRef-ize a pointer/length pair.Richard Smith2015-07-232-17/+15
| | | | llvm-svn: 242977
* [GMR] Further improve the FunctionInfo API inside of GlobalsModRef, NFC.Chandler Carruth2015-07-231-24/+21
| | | | | | | | | | | | | This takes the operation of merging a callee's information into the current information and embeds it into the FunctionInfo type itself. This is much cleaner as now we don't need to expose iteration of the globals, etc. Also, switched all the uses of a raw integer two maintain the mod/ref info during the SCC walk into just directly manipulating it in the FunctionInfo object. llvm-svn: 242976
* [sanitizer] Implement logging to syslog.Evgeniy Stepanov2015-07-2210-36/+101
| | | | | | | | | | | | | Previously, Android target had a logic of duplicating all sanitizer output to logcat. This change extends it to all posix platforms via the use of syslog, controlled by log_to_syslog flag. Enabled by default on Android, off everywhere else. A bit of cmake magic is required to allow Printf() to call a libc function. I'm adding a stub implementation to support no-libc builds like dfsan and safestack. llvm-svn: 242975
* [GMR] Wrap all of the per-function information behind a more stronglyChandler Carruth2015-07-221-63/+92
| | | | | | | | | | | typed interface as a precursor to rewriting how it is stored. This way we know that the access paths are controlled and it should be easy to store these bits in a different way. No functionality changed. llvm-svn: 242974
* Downgrade error about adding 'dllimport' to used free function to warning ↵Hans Wennborg2015-07-222-4/+10
| | | | | | | | (PR24215) The code will still work as it can reference the function via its thunk. llvm-svn: 242973
* Fix TestReturnValue.py after 242903 changes that added vector register ↵Greg Clayton2015-07-222-14/+83
| | | | | | | | return value tests. These were failing on x86_64 and i386. It also pointed out an error in our return values where the ABI only relies on xmm registers, not ymm registers for vector return types. llvm-svn: 242972
* Move EHPersonality to CGCleanupDavid Majnemer2015-07-222-32/+33
| | | | | | | | This makes it possible to use EHPersonality in other parts of CodeGen. Differential Revision: http://reviews.llvm.org/D11440 llvm-svn: 242971
* [MS Compat] Allow _Atomic(Type) and 'struct _Atomic' to coexistDavid Majnemer2015-07-225-7/+69
| | | | | | | | | | | | | | | | | | | | | | MSVC 2013 ships, as part of its STL implementation, a class named '_Atomic'. This is unfortunate because this keyword is in conflict with the C11 keyword with the same name. Our solution was to disable this keyword when targeting MSVC 2013 and reenable it for 2015. However, this makes it impossible for clang's headers to make use of _Atomic. This is problematic in the case of libc++ as it makes heavy use of this keyword. Let the keywordness of _Atomic float under certain circumstances: the body of a class named _Atomic, or a class with a base specifier named _Atomic, will not have the keyword variant of _Atomic for the duration of the class body. This is sufficient to allow us to correctly handle _Atomic in the STL while permitting us to use _Atomic as a keyword everywhere else. Differential Revision: http://reviews.llvm.org/D11233 llvm-svn: 242970
* Don't specify languages when setting breakpoints in C function names. We ↵Greg Clayton2015-07-223-3/+3
| | | | | | won't be able to tell from the symbol value alone what language the symbol is. llvm-svn: 242969
* Fix the variable used to reply to the qGDBServerVersionJason Molenda2015-07-221-1/+1
| | | | | | | | | | packet so that debugserver will send a reply like name:debugserver;version:340.99; <rdar://problem/21933963> llvm-svn: 242968
* Mark this test as XFAIL with older compilers, since they hit PR18097Justin Bogner2015-07-221-0/+4
| | | | llvm-svn: 242967
* [asan] Enable build of asan-rt on android/aarch64.Evgeniy Stepanov2015-07-221-1/+4
| | | | llvm-svn: 242966
* [dsymutil] Check archive members timestamps.Frederic Riss2015-07-228-28/+93
| | | | | | | | | The debug map contains the timestamp of the object files in references. We do not check these in the general case, but it's really useful if you have archives where different versions of an object file have been appended. This allows llvm-dsymutil to find the right one. llvm-svn: 242965
* [PM/AA] Cleanup comments, formatting, and organization of the AAChandler Carruth2015-07-221-118/+137
| | | | | | | | | | interface prior to making more substantial and invasive changes. No functionality changed, and should hopefully keep subsequent patches as clean and focused as possible in addition to making the comments and such more clear. llvm-svn: 242964
* [PM/AA] Extract the ModRef enums from the AliasAnalysis class inChandler Carruth2015-07-2232-510/+523
| | | | | | | | | | | | | | | | | | | | | | | preparation for de-coupling the AA implementations. In order to do this, they had to become fake-scoped using the traditional LLVM pattern of a leading initialism. These can't be actual scoped enumerations because they're bitfields and thus inherently we use them as integers. I've also renamed the behavior enums that are specific to reasoning about the mod/ref behavior of functions when called. This makes it more clear that they have a very narrow domain of applicability. I think there is a significantly cleaner API for all of this, but I don't want to try to do really substantive changes for now, I just want to refactor the things away from analysis groups so I'm preserving the exact original design and just cleaning up the names, style, and lifting out of the class. Differential Revision: http://reviews.llvm.org/D10564 llvm-svn: 242963
* Fix dumb use-after-free bug introduced in r242868.Richard Smith2015-07-221-9/+9
| | | | llvm-svn: 242960
* Merge C++03 and C++11 implementations of mem_fn and __mem_fn.Eric Fiselier2015-07-222-199/+35
| | | | | | | | | | | | | | | | | The implementation of mem_fn doesn't actually require any C++11 support. For some reason there were 17 overloads for mem_fn in C++03 when only one is needed. This patch removes the extra overloads and uses the same implementation of mem_fn in C++03 and C++11. __mem_fn does require variadics to implement the call operator. Instead of having two entirely different implementations of the __mem_fn struct, this patch uses the same __mem_fn struct but provides different call operators when variadics are not available. The only thing left in <__functional_03> is the C++03 implementation of std::function. llvm-svn: 242959
* [asan] Remove CHECK line for kernel32.dllReid Kleckner2015-07-221-1/+0
| | | | | | | | | Windows 8 users report that it isn't present in the address space by default anymore. Fixes PR23773. llvm-svn: 242958
* [MSVC Compatibility] Use a better predicate for __BOOL_DEFINEDDavid Majnemer2015-07-221-1/+2
| | | | | | | Instead of using CPlusPlus, use Bool. No functionality change is intended, it just makes things a tad bit more clear. llvm-svn: 242957
* [GMR] Continue my quest to remove linked datastructures from GMR, NFC.Chandler Carruth2015-07-221-3/+2
| | | | | | | | | This replaces the next-to-last std::map with a DenseMap. While DenseMap doesn't yet make tons of sense (there are 32 bytes or so in the value type), my next change will reduce the value type to a single pointer -- we only need a pointer and 3 bits, and that is exactly what we can have. llvm-svn: 242956
* [ConstantFolding] Support folding loads from a GlobalAliasDavid Majnemer2015-07-222-0/+15
| | | | | | | | | | | | | | The MSVC ABI requires that we generate an alias for the vtable which means looking through a GlobalAlias which cannot be overridden improves our ability to devirtualize. Found while investigating PR20801. Patch by Andrew Zhogin! Differential Revision: http://reviews.llvm.org/D11306 llvm-svn: 242955
* Revert "Improve merging of stores from static constructors in GlobalOpt"Anthony Pesch2015-07-221-249/+77
| | | | | | This reverts commit 0a9dee959a30b81b9e7df64c9a58ff9898c24024. llvm-svn: 242954
* Revert "IPO: Avoid brace initialization of a map, some versions of libc++ ↵Anthony Pesch2015-07-221-4/+1
| | | | | | | | don't like it" This reverts commit fc2dad0c68f8d32273d3c2d790ed496961f829af. llvm-svn: 242953
OpenPOWER on IntegriCloud