summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed line endingsSimon Pilgrim2016-07-211-105/+105
| | | | llvm-svn: 276287
* [compiler-rt] Fix broken unittest on win64Etienne Bergeron2016-07-212-5/+17
| | | | | | | | | | | | | | | | | | | Summary: This is an other tentative to fix: https://reviews.llvm.org/D22588 It's less clever, but should work. Turn out there is not an easy way to write a portable print for a pointer in lowercase without the prefix 0x. Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: https://reviews.llvm.org/D22606 llvm-svn: 276286
* [X86][SSE] Pull out duplicate EXTRW lowering code. NFCI.Simon Pilgrim2016-07-211-26/+16
| | | | | | As requested on D22509, I've pulled out the v8i16 extraction lowering as the SSE41 and pre-SSE41 implementations are effectively the same. llvm-svn: 276285
* [profdata] Remove constructor that MSVC 2013 pretends to not understand.Benjamin Kramer2016-07-211-6/+2
| | | | | | No functionality change intended. llvm-svn: 276284
* [ELF] - Linkerscript: add InputSectionDescription command to LS parser.George Rimar2016-07-213-49/+59
| | | | | | | | | | | | | | This adds InputSectionDescription command to represent the input section declaration. This leads to next cleanup: SectionRule removed. ScriptConfiguration::Sections mamber removed. LinkerScript<ELFT>::getOutputSection() removed. Differential revision: https://reviews.llvm.org/D22617 llvm-svn: 276283
* [clang-tidy] Avoid duplicated DenseMap lookup.Benjamin Kramer2016-07-211-2/+1
| | | | | | | The std::string is still constructed on demand. No functionality change intended. llvm-svn: 276282
* [X86][AVX] Added support for lowering to VBROADCASTF128/VBROADCASTI128Simon Pilgrim2016-07-2111-207/+167
| | | | | | | | | | | | As reported on PR26235, we don't currently make use of the VBROADCASTF128/VBROADCASTI128 instructions (or the AVX512 equivalents) to load+splat a 128-bit vector to both lanes of a 256-bit vector. This patch enables lowering from subvector insertion/concatenation patterns and auto-upgrades the llvm.x86.avx.vbroadcastf128.pd.256 / llvm.x86.avx.vbroadcastf128.ps.256 intrinsics to match. We could possibly investigate using VBROADCASTF128/VBROADCASTI128 to load repeated constants as well (similar to how we already do for scalar broadcasts). Differential Revision: https://reviews.llvm.org/D22460 llvm-svn: 276281
* [include-fixer] Add mising qualifiers to all instances of an unidentified ↵Haojian Wu2016-07-218-86/+192
| | | | | | | | | | | | symbol. Reviewers: bkramer Subscribers: ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D22567 llvm-svn: 276280
* Revert "Include unreferenced nested types in member list only for CodeView"Adrian McCarthy2016-07-215-36/+12
| | | | | | | | | | Patch broke ModuleDebugInfo test on the build bots (but not locally). Again. svn revision: r276271 This reverts commit 9da8a1b05362bc96f2855fb32b5588b89407685d. llvm-svn: 276279
* [DemandedBits] Reduce number of duplicated DenseMap lookups.Benjamin Kramer2016-07-211-5/+4
| | | | | | No functionality change intended. llvm-svn: 276278
* [DenseMap] Add a C++17-style try_emplace method.Benjamin Kramer2016-07-212-37/+45
| | | | | | | | This provides an elegant pattern to solve the "construct if not in map already" problem we have many times in LLVM. Without try_emplace we either have to rely on a sentinel value (nullptr) or do two lookups. llvm-svn: 276277
* Rename StringMap::emplace_second to try_emplace.Benjamin Kramer2016-07-215-9/+7
| | | | | | | Coincidentally this function maps to the C++17 try_emplace. Rename it for consistentcy with C++17 std::map. NFC. llvm-svn: 276276
* Delete SplitInputSection.Rafael Espindola2016-07-212-39/+19
| | | | | | This opens the way for having a different Piece type for EhInputSection. llvm-svn: 276275
* [AMDGPU] Some code cleaning in SIRegisterInfo.tdSam Kolton2016-07-211-33/+23
| | | | | | | | | | Reviewers: tstellarAMD, vpykhtin Subscribers: arsenm, kzhuravl Differential Revision: https://reviews.llvm.org/D22620 llvm-svn: 276274
* Again, w/o the tabsMarshall Clow2016-07-211-5/+5
| | | | llvm-svn: 276273
* Another fix to appease the no-exception bots.Marshall Clow2016-07-211-7/+11
| | | | llvm-svn: 276272
* Include unreferenced nested types in member list only for CodeViewAdrian McCarthy2016-07-215-12/+36
| | | | | | Unreferenced nested structs and classes were omitted from the debug info. In DWARF, this was intentional, to avoid bloat. But for CodeView, we want this information to be consistent with what Microsoft tools would produce and expect. llvm-svn: 276271
* GPGPU: generate code for ScopStatementsTobias Grosser2016-07-214-28/+306
| | | | | | | | | | | | | | | This change introduces the actual compute code in the GPU kernels. To ensure all values referenced from the statements in the GPU kernel are indeed available we scan all ScopStmts in the GPU kernel for references to llvm::Values that are not yet covered by already modeled outer loop iterators, parameters, or array base pointers and also pass these additional llvm::Values to the GPU kernel. For arrays used in the GPU kernel we introduce a new ScopArrayInfo object, which is referenced by the newly generated access functions within the GPU kernel and which is used to help with code generation. llvm-svn: 276270
* IslNodeBuilder: expose addReferencesFromStmt [NFC]Tobias Grosser2016-07-212-11/+13
| | | | | | | This will be used by Polly GPGPU to determine the values that need to be passed to GPU kernels. llvm-svn: 276269
* IslExprBuilder: allow to specify an external isl_id to ScopArrayInfo mappingTobias Grosser2016-07-212-1/+32
| | | | | | | | | This is useful for external users using IslExprBuilder, in case they cannot embed ScopArrayInfo data into their isl_ids, because the isl_ids either already carry other information or the isl_ids have been created and their user pointers cannot be updated any more. llvm-svn: 276268
* Simplify symbol version handling.Rui Ueyama2016-07-215-92/+37
| | | | | | | | | r275711 for "speedng up symbol version handling" was committed by misunderstanding; the benchmark number was measured with a debug build. The number with a release build didn't actually change. This patch removes false optimizations added in that patch. llvm-svn: 276267
* ExecutionDepsFix - Fix bug in clearance calculationMarina Yatsina2016-07-212-2/+10
| | | | | | | | The clearance calculation did not take into account registers defined as outputs or clobbers in inline assembly machine instructions because these register defs are implicit. Differential Revision: http://reviews.llvm.org/D22580 llvm-svn: 276266
* [GCOV] Remove a layer of indirection.Benjamin Kramer2016-07-211-18/+10
| | | | | | | StringMap is designed to hold large values. No functionality change intended. llvm-svn: 276265
* [docs] Update release docsRenato Golin2016-07-211-151/+91
| | | | llvm-svn: 276264
* BlockGenerator: remove dead instructions in normal statementsTobias Grosser2016-07-213-5/+28
| | | | | | | | | | | | | This ensures that no trivially dead code is generated. This is not only cleaner, but also avoids troubles in case code is generated in a separate function and some of this dead code contains references to values that are not available. This issue may happen, in case the memory access functions have been updated and old getelementptr instructions remain in the code. With normal Polly, a test case is difficult to draft, but the upcoming GPU code generation can possibly trigger such problems. We will later extend this dead-code elimination to region and vector statements. llvm-svn: 276263
* tests: make test cases more robust using regexpTobias Grosser2016-07-212-5/+5
| | | | llvm-svn: 276262
* Instantiate Interp output section only when needed.Rui Ueyama2016-07-213-17/+13
| | | | | | | This change simplifies interaction between Writer and the linker script because we can make needsInterpSection() a file-scope function. llvm-svn: 276261
* [ELF] Support FLAGS attribute in program header definitionEugene Leviant2016-07-213-3/+46
| | | | llvm-svn: 276260
* [clang-rename] check whether -new-name is valid identifier in C++17 Kirill Bobyrev2016-07-213-2/+15
| | | | llvm-svn: 276259
* Revert r276256 - Attempt to fix clang-cmake-mips after r268977.Daniel Sanders2016-07-211-6/+0
| | | | | | It didn't fix the problem on the buildbot. CAN_TARGET_mips64 is still true. llvm-svn: 276258
* AMDGPU: Fix phis from blocks split due to register indexingMatt Arsenault2016-07-212-27/+69
| | | | llvm-svn: 276257
* Attempt to fix clang-cmake-mips after r268977.Daniel Sanders2016-07-211-0/+6
| | | | | | | | I think it's wiped out the build area and fully-reconfigured for the first time since r268977. This seems to have caused Mips64 to become enabled when it wasn't before because compiling with -mabi=64 succeeds but linking with -mabi=64 fails. llvm-svn: 276256
* Default XRay building to OFF to let build bots that do not support building ↵Dean Michael Berris2016-07-211-1/+3
| | | | | | sanitizers to disable explicitly too llvm-svn: 276255
* Add a new DynamicLoader plugin that uses SPI that are in developmentJason Molenda2016-07-2113-74/+970
| | | | | | | | | | | | | | | | | | | | | | | | | | | | for the fall (northern hemisphere) 2016 Darwin platforms to learn about loaded images, instead of reading dyld internal data structures. These new SPI don't exist on older releases, and new packets are needed from debugserver to use them (those changes are already committed). I had to change the minimum deployment target for debugserver in the xcode project file to macOS 10.10 so that debugserver will use the [[NSProcessInfo processInfo] operatingSystemVersion] call in MachProcess::GetOSVersionNumbers to get the operarting system version # -- this API is only available in macOS 10.10 and newer ("OS X Yosemite", released Oct 2014). If we have many people building llvm.org lldb on older systems still, we can back off on this for the llvm.org sources. There should be no change in behavior with this commit, either to older darwin systems or newer darwin systems. For now the new DynamicLoader plugin is never activated - I'm forcing the old plugin to be used in DynamicLoaderDarwin::UseDYLDSPI. I'll remove that unconditional use of the old plugin soon, so the newer plugin is used on the newest Darwin platforms. <rdar://problem/25251243> llvm-svn: 276254
* [ELF] - Linkerscript: remove excessive ScriptConfiguration::Filler fieldGeorge Rimar2016-07-212-8/+6
| | | | | | | | | Previously OutputSectionCommand::Filler was introduced, but unused. Patch fixes that. Differential revision: https://reviews.llvm.org/D22615 llvm-svn: 276253
* Provide __GLIBCXX_TYPE_INT_N_0 and __GLIBCXX_BITSIZE_INT_N_0 when in C++ gnu ↵Yaron Keren2016-07-212-0/+16
| | | | | | | | | language extensions. These are used by libstdc++ <type_traits> for is_integral<__int128>. Addresses http://llvm.org/pr23156. llvm-svn: 276252
* [compiler-rt][XRay] re-submitting r276117, with fixes for build breakage due ↵Dean Michael Berris2016-07-2113-2/+647
| | | | | | | | | | | | | | | | | | | | | | | to extraneous and missing dependencies and attempts to build on unsupported OSes Summary: This is a fixed-up version of D21612, to address failure identified post-commit. Original commit description: This patch implements the initialisation and patching routines for the XRay runtime, along with the necessary trampolines for function entry/exit handling. For now we only define the basic hooks for allowing an implementation to define a handler that gets run on function entry/exit. We expose a minimal API for controlling the behaviour of the runtime (patching, cleanup, and setting the handler to invoke when instrumenting). Fixes include: - Gating XRay build to only Linux x86_64 and with the right dependencies in case it is the only library being built - Including <cstddef> to fix std::size_t issue Reviewers: kcc, rnk, echristo Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D22611 llvm-svn: 276251
* [Sema,X86] Add explicit check to ensure that builtins that require x86-64 ↵Craig Topper2016-07-212-0/+72
| | | | | | | | | | target throw an error if used on 32-bit target. If these builtins are allowed to go through on a 32-bit target they will fire assertions in the backend. Fixes PR28635. llvm-svn: 276250
* [X86] Add missing __x86_64__ qualifiers on a bunch of intrinsics that assume ↵Craig Topper2016-07-218-7/+85
| | | | | | | | 64-bit GPRs are available. Usages of these intrinsics in a 32-bit build results in assertions in the backend. llvm-svn: 276249
* [GVNHoist] Preserve optimization hints which agreeDavid Majnemer2016-07-212-3/+61
| | | | | | | If we have optimization hints with agree with each other along different paths, preserve them. llvm-svn: 276248
* tests: fix order of memory accesses to ensure import succeedsTobias Grosser2016-07-213-20/+28
| | | | | | | | | | | It seems the order in which we generated memory accesses changed such that the import of these updated memory accesses failed for the 'loop3' statement in this test case. Unfortunately, the existing CHECK lines were not strict enough to catch this. Hence, besides fixing the order of the memory access lines we also ensure that the memory access changes are both clearly visibly and well checked. llvm-svn: 276247
* JScop: Factor out importContext [NFC]Tobias Grosser2016-07-211-85/+104
| | | | | | | | This makes the structure of the code clearer and reduces the size of runOnScop. We also adjust the coding style to the latest LLVM style guide. llvm-svn: 276246
* JScop: Factor out importContext [NFC]Tobias Grosser2016-07-211-11/+27
| | | | | | | | This makes the structure of the code clearer and reduces the size of runOnScop. We also adjust the coding style to the latest LLVM style guide. llvm-svn: 276245
* JScop: Factor out importSchedule [NFC]Tobias Grosser2016-07-211-39/+58
| | | | | | | | This makes the structure of the code clearer and reduces the size of runOnScop. We also adjust the coding style to the latest LLVM style guide. llvm-svn: 276244
* [ELF] - Initial support of tree-style linker script implemented.George Rimar2016-07-212-35/+67
| | | | | | | | | | | Approach uses LLVM-style RTTI for representing the linker script commands in a form of tree for future simplification of parsing. Core idea and code sample belongs to Rui Ueyama. Differential revision: https://reviews.llvm.org/D22604 llvm-svn: 276243
* [CodeGen] Handle recursion in LLVMIRGeneration Timer.Davide Italiano2016-07-211-8/+23
| | | | | | | | | | | | This can happen when emitting a local decl, which triggers loading a decl imported from an AST file, which we then hand to the AST consumer. Timer is not allowed to recurse so an assertion fire. Keep a reference counter to avoid this problem. LGTM'd by Richard Smith on IRC. Differential Revision: https://reviews.llvm.org/D20748 llvm-svn: 276242
* Fix some string_view tests that were failing when exceptions were disabled. ↵Marshall Clow2016-07-216-9/+34
| | | | | | Also comment out a _LIBCPP_ASSERT that gcc4.9 was complaining about. Will revisit that later. llvm-svn: 276241
* [GVNHoist] Don't wrongly preserve TBAADavid Majnemer2016-07-212-0/+41
| | | | | | | We hoisted loads/stores without taking into account which can cause miscompiles. llvm-svn: 276240
* [MergedLoadStoreMotion] Remove out of date commentDavid Majnemer2016-07-211-1/+0
| | | | llvm-svn: 276239
* Implement std::string_view as described in http://wg21.link/P0254R1. ↵Marshall Clow2016-07-21100-722/+19163
| | | | | | Reviewed as https://reviews.llvm.org/D21459 llvm-svn: 276238
OpenPOWER on IntegriCloud