summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DiagnosticInfo: Allow unsupported be a warningMatt Arsenault2016-06-171-2/+3
| | | | | | | Some unsupported features can be ignored, so don't force this to be a hard error. llvm-svn: 273061
* Fix bugs in recursive_directory_iterator implementation and tests.Eric Fiselier2016-06-173-24/+48
| | | | | | | | | | | There are two fixes in this patch: * Fix bug where the constructor of recursive_directory_iterator did not reset the error code if no failure occurred. * Fix tests were dependent on the iteration order of the test directories. llvm-svn: 273060
* AMDGPU/SI: Simplify code in SITargetLowering::LowerGlobalAddress()Tom Stellard2016-06-171-1/+1
| | | | | | This change were suggested in http://reviews.llvm.org/D21154. llvm-svn: 273059
* Add support for Darwin’s static library table of contents with 64-bit ↵Kevin Enderby2016-06-174-4/+48
| | | | | | | | | | | | | | offsets to the archive members. Darwin added support in its Xcode 8.0 tools (released in the beta) for static library table of contents with 64-bit offsets to the archive members. The change is very straight forward. The table of contents member is named ___.SYMDEF_64 or "___.SYMDEF_64 SORTED" and same layout is used but with fields using 64 bit values instead of 32 bit values. rdar://26869808 llvm-svn: 273058
* [codeview] Emit incomplete member pointer types with the unknown modelReid Kleckner2016-06-172-35/+93
| | | | | | | An incomplete member pointer type will always have a size of zero, so we don't need an extra flag. Credit to David Majnemer for the idea. llvm-svn: 273057
* [Coverage] Adopt llvm::coverage::encodeFilenamesAndRawMappings (NFC)Vedant Kumar2016-06-171-18/+10
| | | | | | Use an llvm helper function to encode filenames and raw mappings. llvm-svn: 273056
* [Coverage] Move logic to encode filenames and mappings into llvm (NFC)Vedant Kumar2016-06-172-21/+60
| | | | | | | | | | | | | | | Currently, frontends which emit source-based code coverage have to duplicate logic to encode filenames and raw coverage mappings properly. This violates an abstraction layer and forces frontends to copy tricky code. Introduce llvm::coverage::encodeFilenamesAndRawMappings() to take care of this. This will help us experiment with zlib-compressing coverage mapping data. llvm-svn: 273055
* Get filesystem tests passing for single-threaded configurations.Eric Fiselier2016-06-177-14/+14
| | | | llvm-svn: 273054
* [codeview] Add DIFlags for pointer to member representationsReid Kleckner2016-06-179-15/+270
| | | | | | | | | | | | | | | | Summary: This seems like the least intrusive way to pass this information through. Fixes PR28151 Reviewers: majnemer, aprantl, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21444 llvm-svn: 273053
* [Coverage] Get rid of an input/output parameter (NFC)Vedant Kumar2016-06-171-10/+17
| | | | | | | | | | | | readFunctionRecords is used to iterate through the entries of the coverage mapping section. Instead of expecting the function to update the iterator through a `const char *&` parameter, just return the updated iterator. This will help us experiment with zlib-compressing coverage mapping data. llvm-svn: 273052
* Update status of filesystem issues, and add tests for LWG issue 2683Eric Fiselier2016-06-172-22/+22
| | | | llvm-svn: 273051
* AMDGPU: Remove llvm.SI.tid intrinsicMatt Arsenault2016-06-178-40/+27
| | | | | | Mesa doesn't emit this for llvm >= 3.8 anymore. llvm-svn: 273050
* Reorder permissions test so they are not dependent on the processes umaskEric Fiselier2016-06-171-4/+4
| | | | llvm-svn: 273049
* Respect the processes umask in the create_directory testEric Fiselier2016-06-171-9/+11
| | | | llvm-svn: 273048
* Apply another batch of fixes from clang-tidy's ↵Benjamin Kramer2016-06-1720-74/+79
| | | | | | | | performance-unnecessary-value-param. Contains some manual fixes. No functionality change intended. llvm-svn: 273047
* [pdb] Don't error on missing FPO streamsReid Kleckner2016-06-173-35/+57
| | | | | | | | 64-bit PDBs never have FPO data. They have xdata instead. Also improve error recovery of stream summary dumping while I'm here. llvm-svn: 273046
* Revert "Revert "InstCombine: Reduce trunc (shl x, K) width.""Matt Arsenault2016-06-175-10/+163
| | | | | | | Reapply r272987. Condition should be in terms of the destination type, and the flags should not be copied. llvm-svn: 273045
* configure: Remove device specific definesJan Vesely2016-06-171-25/+11
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 273044
* nvptx: Drop feature defines.Jan Vesely2016-06-171-6/+4
| | | | | | | | This is now handled by clang Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 273043
* 64 bit integers are legal in full profile without an extensionJan Vesely2016-06-172-6/+12
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 273042
* [sanitizers] [SystemZ] Add __tls_get_offset interceptor.Marcin Koscielnicki2016-06-171-0/+54
| | | | | | | | | | | | | | | | | s390 is special again - instead of __tls_get_addr, it has __tls_get_offset with special calling conventions: the result is TP relative, and the argument is GOT-relative. Since we need to get address of the caller's GOT, which is in %r12, we have to use assembly like glibc does. Aside of __tls_get_offset, glibc also implements a slightly saner __tls_get_addr_internal, which takes a pointer as argument, but still returns a TP-relative offset. It is used for dlsym() called on TLS symbols, so we have to intercept it was well. Our __tls_get_offset is also implemented by delegating to it. Differential Revision: http://reviews.llvm.org/D19778 llvm-svn: 273041
* [sanitizer] [SystemZ] Enable TLS functionality.Marcin Koscielnicki2016-06-171-3/+6
| | | | | | | | This enables TLS knowledge for s390 in sanitizers. Differential Revision: http://reviews.llvm.org/D19594 llvm-svn: 273040
* [SelectionDAG] Don't treat library calls specially if marked with nobuiltin.Marcin Koscielnicki2016-06-177-2/+346
| | | | | | | | To be used by D19781. Differential Revision: http://reviews.llvm.org/D19801 llvm-svn: 273039
* [X86] Add missing AVX512 anyext patterns.Michael Kuperstein2016-06-172-0/+48
| | | | | | | Add AVX512 anyext patterns for i16 and i64, modeled on the existing i8 and i32 patterns. llvm-svn: 273038
* Add missing space between >> in template declaration. Fixes C++03 build.Eric Fiselier2016-06-171-1/+1
| | | | llvm-svn: 273037
* test: support / and \ as directory separatorsSaleem Abdulrasool2016-06-171-4/+4
| | | | | | | Windows uses \ as the directory separator and this causes the tests to fail on Windows. llvm-svn: 273036
* Fix a couple of warnings present in the filesystem tests.Eric Fiselier2016-06-173-4/+16
| | | | llvm-svn: 273035
* Add Filesystem TS -- CompleteEric Fiselier2016-06-17147-11/+15301
| | | | | | | | | | | | | | Add the completed std::experimental::filesystem implementation and tests. The implementation supports C++11 or newer. The TS is built as part of 'libc++experimental.a'. Users of the TS need to manually link this library. Building and testing the TS can be disabled using the CMake option '-DLIBCXX_ENABLE_FILESYSTEM=OFF'. Currently 'libc++experimental.a' is not installed by default. To turn on the installation of the library use '-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON'. llvm-svn: 273034
* Revert "Properly handle short file names on the command line in Windows"Adrian McCarthy2016-06-171-27/+2
| | | | | | This reverts commit 3e5651782cfc985fca9d94595cad63059e587e2f. llvm-svn: 273033
* [PM] Port MergedLoadStoreMotion to the new pass manager, take two.Davide Italiano2016-06-178-56/+125
| | | | | | | | | This is indeed a much cleaner approach (thanks to Daniel Berlin for pointing out), and also David/Sean for review. Differential Revision: http://reviews.llvm.org/D21454 llvm-svn: 273032
* NVPTX: Add supported CL featuresJan Vesely2016-06-172-0/+224
| | | | | | | | | | Fixes libclc compilation broken by r269670 Reviewers: jholewinsky Differential Revision: http://reviews.llvm.org/D20389 llvm-svn: 273031
* Avoid duplicated map lookups. No functionality change intended.Benjamin Kramer2016-06-177-25/+15
| | | | llvm-svn: 273030
* ARM: take account of possible bundle when erasing an instruction.Tim Northover2016-06-172-1/+17
| | | | | | | Fortunately this appears to be the only ARM-specific pass that runs while bundles might be in play, so no other cases need modifying. llvm-svn: 273029
* Turn off -Wunused-parameter when building compiler-rt with clang on Windows, ↵Reid Kleckner2016-06-172-0/+4
| | | | | | | | it is very noisy It is turned on as part of "clang-cl /W4", which enables -Wextra. llvm-svn: 273028
* [IRObjectFile] Handle .weak in RecordStreamer.Davide Italiano2016-06-172-1/+11
| | | | | | Differential Revision: http://reviews.llvm.org/D21476 llvm-svn: 273027
* Fix most MSVC warnings in compiler-rt profiling libraryReid Kleckner2016-06-176-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's the warnings and how they were fixed: - InstrProfilingUtil.c(110): warning C4013: '_open_osfhandle' undefined; assuming extern returning int Include io.h to get the prototype. - warning C4005: 'FILE_MAP_EXECUTE': macro redefinition Stop trying to support pre-XP versions of Windows, don't attempt to define this macro. - InstrProfilingWriter.c(271): warning C4221: nonstandard extension used: 'Data': cannot be initialized using address of automatic variable 'Header' - InstrProfilingWriter.c(275): warning C4221: nonstandard extension used: 'Data': cannot be initialized using address of automatic variable 'Zeroes' Turn this warning off. This is definitely legal in C++, all compilers accept it, and I only have room for half of one language standard in my brain. - InstrProfilingValue.c(320): warning C4113: 'uint32_t (__cdecl *)()' differs in parameter lists from 'uint32_t (__cdecl *)(void)' Fix this with an explicit (void) in the prototype. - InstrProfilingMerge.c.obj : warning LNK4006: _VPMergeHook already defined in InstrProfilingMergeFile.c.obj; second definition ignored Last remaining warning. This is from linking a selectany definition with a strong definition. We need to sort out weak symbols in compiler-rt in general, though. llvm-svn: 273026
* Support expanding partial-word cmpxchg to full-word cmpxchg in AtomicExpandPass.James Y Knight2016-06-176-56/+723
| | | | | | | | | | | | | | | | | Many CPUs only have the ability to do a 4-byte cmpxchg (or ll/sc), not 1 or 2-byte. For those, you need to mask and shift the 1 or 2 byte values appropriately to use the 4-byte instruction. This change adds support for cmpxchg-based instruction sets (only SPARC, in LLVM). The support can be extended for LL/SC-based PPC and MIPS in the future, supplanting the ISel expansions those architectures currently use. Tests added for the IR transform and SPARCv9. Differential Revision: http://reviews.llvm.org/D21029 llvm-svn: 273025
* [Codegen] Change PICLevel.Davide Italiano2016-06-175-8/+9
| | | | | | | | | We convert `Default` to `NotPIC` so that target independent code can reason about this correctly. Differential Revision: http://reviews.llvm.org/D21394 llvm-svn: 273024
* LoopSimplifyCFG: Prefer `const auto &` to `auto &`, for clarity. NFCJustin Bogner2016-06-171-1/+2
| | | | llvm-svn: 273023
* Don't use the new x86 relax relocations on the gold plugin.Rafael Espindola2016-06-171-0/+4
| | | | | | Should bring back the bots with old versions. llvm-svn: 273022
* Fix some warnings in the MSVC buildReid Kleckner2016-06-174-5/+16
| | | | | | | | | - Fixes warnings about the ignored -fms-compatibility-version flag. - Fixes warnings about overriding /W4 with /W3 and back. - Fixes a warning where PREFETCH() expanded to nothing in a braceless if block. llvm-svn: 273021
* [CodeGen] Use pointer-sized integers for ptrtoint sourcesDavid Majnemer2016-06-172-2/+8
| | | | | | | | | | | | | | | | | Given something like: void *v = (void *)100; We need to synthesize a ptrtoint operation from 100. During constant emission, we choose i64 as the type for our constant because it guaranteed not to drop any bits from our CharUnits representation of the value. However, this is suboptimal for 32-bit targets: LLVM passes like GlobalOpt will get confused by these sorts of casts resulting in pessimization. Instead, make sure the ptrtoint operand has a pointer-sized integer type. llvm-svn: 273020
* Change RelaxELFRelocations for llc.Rafael Espindola2016-06-172-1/+16
| | | | | | As a developer tool it makes sense for it to use the new relocations. llvm-svn: 273019
* test: generalise the matchingSaleem Abdulrasool2016-06-171-1/+1
| | | | | | Use a regex for the clang version as that will change all the time. llvm-svn: 273018
* Change RelaxELFRelocations' default.Rafael Espindola2016-06-171-1/+1
| | | | | | NFC to the existing clients since they all set it already. llvm-svn: 273017
* Driver: introduce and use `-isystem-after` for cross-windowsSaleem Abdulrasool2016-06-174-0/+19
| | | | | | | | | | | | | | This mirrors the many other -i*after options to insert a new system search directory at the end of the search path. This makes it possible to actually inject a search path after the resource dir. This option is similar in spirit to the /imsvc option in the clang-cl driver. This is needed to properly use the driver for Windows targets where the clang headers wrap some of the system headers. This concept is actually useful on other targets (e.g. Linux) and would be really easy to support on the core toolchain. llvm-svn: 273016
* [OpenCL] Allow -std={cl|CL}{|1.1|1.2|2.0} in driverYaxun Liu2016-06-174-10/+54
| | | | | | | | | | Fix a regression which forbids using -std=cl|CL1.1|CL1.2|CL2.0 in driver. Allow -std and -cl-std={cl|CL}{|1.1|1.2|2.0}. Differential Revision: http://reviews.llvm.org/D20630 llvm-svn: 273015
* Change the default of -relax-relocations.Rafael Espindola2016-06-175-7/+15
| | | | | | | | | | llvm-mc is a developer tool, as such it make sense for it to use new features by default. This doesn't change the user facing clang, which still defaults to non relaxable relocations. llvm-svn: 273014
* This tests depends on non-relaxable relocations.Rafael Espindola2016-06-171-1/+1
| | | | | | Make that explicit. llvm-svn: 273013
* [Driver] Adapt Linux::GCCVersion::Parse to match GCC 5 installationsBryan Chan2016-06-175-0/+12
| | | | | | | | | | | | | | | | | Summary: Some GCC 5 installations store the libstdc++ includes and GCC-specific files in paths without the minor part of the version number, such as /usr/include/c++/5 /usr/lib64/gcc/x86_64-suse-linux/5 Reviewers: cfe-commits, thiagomacieira, jroelofs Subscribers: tinti, jroelofs Differential Revision: http://reviews.llvm.org/D14727 llvm-svn: 273012
OpenPOWER on IntegriCloud