summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in gdbremote.pyPavel Labath2015-07-281-1/+1
| | | | llvm-svn: 243421
* Keep track of ScopArrayInfo objects that model PHI node storageTobias Grosser2015-07-2818-175/+140
| | | | | | | | | | | | | | | | | | | | | Summary: When translating PHI nodes into memory dependences during code generation we require two kinds of memory. 'Normal memory' as for all scalar dependences and 'PHI node memory' to store the incoming values of the PHI node. With this patch we now mark and track these two kinds of memories, which we previously incorrectly marked as a single memory object. Being aware of PHI node storage makes code generation easier, as we do not need to guess what kind of storage a scalar reference requires. This simplifies the code nicely. Reviewers: jdoerfert Subscribers: pollydev, llvm-commits Differential Revision: http://reviews.llvm.org/D11554 llvm-svn: 243420
* Use a specified list of languages in cmake project() command.Douglas Katzman2015-07-282-1/+2
| | | | | | | | | | | This allows asm files and Cxx files to be compiled with different flags rather than treating them identically. LLVM itself has no asm files other than tests, but this setting is inherited by the compiler-rt project (unless compiled standalone), which does have asm files. Differential Revision: http://reviews.llvm.org/D10707 llvm-svn: 243419
* [asan] Set abort_on_error=1 by default on OS XKuba Brecka2015-07-285-3/+48
| | | | | | | | This sets the default ASan flags to abort_on_error=1 on OS X. For unit tests and lit tests we set ASAN_OPTIONS back to abort_on_error=0 before running the tests (to avoid crashing). I added two tests that intentionally don't respect the default ASAN_OPTIONS to test the behavior of an empty ASAN_OPTIONS (on OS X we should crash, on Linux we should exit()). Differential Revision: http://reviews.llvm.org/D7203 llvm-svn: 243418
* RegParmMax must be 0 for AArch64, as the regparm function attribute is not ↵Kristof Beyls2015-07-282-1/+1
| | | | | | supported on AArch64. llvm-svn: 243417
* [LAA] Add clarifying comments for the checking pointer grouping algorithm. NFCSilviu Baranga2015-07-282-3/+31
| | | | llvm-svn: 243416
* Consolidate a bunch of #ifdef _LIBCPP_NO_EXCEPTIONS .. #endif blocks into a ↵Marshall Clow2015-07-281-165/+64
| | | | | | single template function. NFC llvm-svn: 243415
* misc-unused-parameters: Only remove parameters in the main source file.Daniel Jasper2015-07-282-2/+10
| | | | | | | In headers, they might always be pulled in to different TUs, even if they are declared static or nested in an unnamed namespace. llvm-svn: 243414
* [AArch64] Implement __builtin_thread_pointerAdhemerval Zanella2015-07-283-0/+11
| | | | | | | This path add the aarch64 __builtin_thread_pointer support. It will be lowered to llvm.aarch64.thread.pointer. llvm-svn: 243413
* Implement __builtin_thread_pointerAdhemerval Zanella2015-07-284-0/+33
| | | | | | | This path add the aarch64 lowering of __builtin_thread_pointer. It uses the already implemented AArch64ISD::THREAD_POINTER used in TLS generation. llvm-svn: 243412
* Do not compile GPU library with sanitizersTobias Grosser2015-07-281-1/+4
| | | | llvm-svn: 243411
* Extend documentation of scalar code generation [NFC]Tobias Grosser2015-07-281-21/+119
| | | | | | | | | | | | | No functional change intended -- Reviewers: jdoerfert Projects: #polly Differential Revision: http://reviews.llvm.org/D11536 llvm-svn: 243410
* [X86][AVX512VL] add AVX512VL intrinsics 4 out of 4Asaf Badouh2015-07-283-0/+728
| | | | | | Differential Revision: http://reviews.llvm.org/D11526 llvm-svn: 243409
* docs: update arcanist linksMartell Malone2015-07-281-2/+2
| | | | | | | | | | | | | | Summary: I need a test commit for using arc. This seems like an appropriate commit to use as a test We may want to port this commit back to 3.7 also Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11527 llvm-svn: 243408
* [X86][AVX512VL] add AVX512VL intrinsics 3 out of 4Asaf Badouh2015-07-283-0/+1175
| | | | | | http://reviews.llvm.org/D11526 llvm-svn: 243406
* [GMR] Teach GlobalsModRef to distinguish an important and safe case ofChandler Carruth2015-07-282-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | no-alias with non-addr-taken globals: they cannot alias a captured pointer. If the non-global underlying object would have been a capture were it to alias the global, we can firmly conclude no-alias. It isn't reasonable for a transformation to introduce a capture in a way observable by an alias analysis. Consider, even if it were to temporarily capture one globals address into another global and then restore the other global afterward, there would be no way for the load in the alias query to observe that capture event correctly. If it observes it then the temporary capturing would have changed the meaning of the program, making it an invalid transformation. Even instrumentation passes or a pass which is synthesizing stores to global variables to expose race conditions in programs could not trigger this unless it queried the alias analysis infrastructure mid-transform, in which case it seems reasonable to return results from before the transform started. See the comments in the change for a more detailed outlining of the theory here. This should address the primary performance regression found when the non-conservatively-correct path of the alias query was disabled. Differential Revision: http://reviews.llvm.org/D11410 llvm-svn: 243405
* misc-unused-parameters: Properly handle static class members.Daniel Jasper2015-07-282-3/+10
| | | | | | Not sure why I wrote what I wrote before. llvm-svn: 243403
* [X86][AVX512VL] add AVX512VL intrinsics 2 out of 4Asaf Badouh2015-07-283-0/+1169
| | | | | | http://reviews.llvm.org/D11526 llvm-svn: 243402
* Improving lli documentationRenato Golin2015-07-281-124/+44
| | | | | | | | | | | | | | | Too many people hope lli would act as an emulator when it's actually just a tool to help prototype IR code and test the JIT compiler. This commit makes that fact explicit in the documentation It also migrates the old style bold/italic doc tags to the preferred meta tags (.. option::, :program:, etc). No errors when generating the documents, visual inspection in the HTML result doesn't show any major difference, apart from the slight style change. llvm-svn: 243401
* Fix warnings detected by -Wpessimizing-movePavel Labath2015-07-288-23/+20
| | | | | | | | patch by Eugene Zelenko Differential Revision: http://reviews.llvm.org/D11429 llvm-svn: 243399
* Use TargetParser to parse -mhwdiv command line option in Driver.Alexandros Lamprineas2015-07-281-13/+2
| | | | | | Change-Id: I2ebc40f77af75ec6b43ce8364d6d5a1d29988bd6 Phabricator: http://reviews.llvm.org/D11501 llvm-svn: 243398
* [LLGS] Avoid bogus error message on process terminationPavel Labath2015-07-281-15/+10
| | | | | | | | | | | | | | | | | | Summary: Handle_k was printing an error when killing a process because KillSpawnedProcess was expecting to be asynchronously notified of the process death, which no longer works, since we don't wait for the process on a separate thread. However, the whole usage of KillSpawnedProcess is dubious here, since it tries to be nice and terminate the process first with SIGTERM, which will not have the intended effect on a ptraced process. I replace this code with a call to NativeProcessProtocol::Kill, which does not suffer from these problems. Reviewers: chaoren, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11520 llvm-svn: 243397
* [X86] Remove mergeSPUpdatesUp()Michael Kuperstein2015-07-281-25/+1
| | | | | | | | | | | X86FrameLowering has both a mergeSPUpdates() that accepts a direction, and an mergeSPUpdatesUp(), which seem to do the same thing, except for a slightly different interface. Removed the less general function. NFC. Differential Revision: http://reviews.llvm.org/D11510 llvm-svn: 243396
* [X86][SSE] Use bitmasks instead of shuffles where possible.Simon Pilgrim2015-07-284-36/+27
| | | | | | | | | | VPAND is a lot faster than VPSHUFB and VPBLENDVB - this patch ensures we attempt to lower to a basic bitmask before lowering to the slower byte shuffle/blend instructions. Split off from D11518. Differential Revision: http://reviews.llvm.org/D11541 llvm-svn: 243395
* [X86][AVX512VL] add AVX512VL intrinsics 1 out of 4Asaf Badouh2015-07-283-0/+1412
| | | | | | http://reviews.llvm.org/D11526 llvm-svn: 243394
* Mark async tests as UNSUPPORTED in C++03 because it requires variadicsEric Fiselier2015-07-282-0/+2
| | | | llvm-svn: 243393
* Fix a handful of tests that fail in C++03Eric Fiselier2015-07-288-35/+35
| | | | llvm-svn: 243392
* AVX512: Add encoding tests to vptestnm instructionsIgor Breger2015-07-282-0/+465
| | | | | | Differential Revision: http://reviews.llvm.org/D11521 llvm-svn: 243391
* AVX512: Implemented encoding and intrinsics for VGETEXPSS/D instructionsIgor Breger2015-07-286-1/+150
| | | | | | | | Added tests for intrinsics and encoding. Differential Revision: http://reviews.llvm.org/D11528 llvm-svn: 243390
* Changes for MachineBasicBlock to use SortedVector for LiveIns.Puyan Lotfi2015-07-282-14/+13
| | | | llvm-svn: 243389
* Move the Target way of overriding DAG Scheduler to a target hookMehdi Amini2015-07-283-14/+12
| | | | | | | | | | | | | | | Summary: The previous way of overriding it was relying on calling "setDefault" on the global registry, which implies global mutable state. Reviewers: echristo, atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11538 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 243388
* [sema] Fix crash when typo-transforming an expression containing an ObjC ↵Argyrios Kyrtzidis2015-07-282-8/+17
| | | | | | | | super message expression. rdar://21427916 llvm-svn: 243387
* Adding ADT SortedVector; client patch will follow.Puyan Lotfi2015-07-282-1/+135
| | | | llvm-svn: 243386
* [GMR] Fix a long-standing bug in GlobalsModRef where it failed to clearChandler Carruth2015-07-281-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | out the per-function modref data structures when functions were deleted or when globals were deleted. I don't actually know how the global deletion side of this bug hasn't been hit before, but for the other it just-so-happens that functions aren't likely to be deleted in the particular part of the LTO pipeline where we currently enable GMR, so we got lucky. With this patch, I can self-host with GMR enabled in the normal pass pipeline! I was a bit concerned about the compile-time impact of this chang, which is part of what motivated my prior string of patches to make the per-function datastructure very dense and fast to walk. With those changes in place, I can't measure a significant compile time difference (the difference is around 0.1% which is *way* below the noise) before and after this patch when building a linked bitcode for all of Clang. Differential Revision: http://reviews.llvm.org/D11453 llvm-svn: 243385
* [UBSan][MIPS] Fix cast-overflow tests for mips big endianSagar Thakur2015-07-281-1/+1
| | | | | | | | | | This fixes the bug https://llvm.org/bugs/show_bug.cgi?id=24152 The float value resides in the first 4 bytes of ValueHandle for both mips and mipsel. Reviewers: dsanders, samsonov Subscibers: rsmith, hans, mohit.bhakkad, jaydeep, llvm-commits Differential: http://reviews.llvm.org/D11448 llvm-svn: 243384
* Support escapes and quotes in string and character values.Ilia K2015-07-286-57/+97
| | | | | | | | | | | | | | | Summary: Escape characters in strings and strings containing quotes were not appearing correctly in expression values. Patch from paulmay@microsoft.com Reviewers: abidh, ChuckR, paulmaybee Subscribers: greggm, lldb-commits Differential Revision: http://reviews.llvm.org/D11371 llvm-svn: 243383
* [LDist][LVer] Explicitly pass the set of memchecks to LoopVersioning, NFCAdam Nemet2015-07-283-9/+16
| | | | | | | | | | | | | | | | | | Before the patch, the checks were generated internally in addRuntimeCheck. Now, we use the new overloaded version of addRuntimeCheck that takes the ready-made set of checks as a parameter. The checks are now generated by the client (LoopDistribution) with the new RuntimePointerChecking::generateChecks API. Also the new printChecks API is used to print out the checks for debugging. This is to continue the transition over to the new model whereby clients will get the full set of checks from LAA, filter it and then pass it to LoopVersioning and in turn to addRuntimeCheck. llvm-svn: 243382
* Make local function isWhitespaceExceptNL static instead of in anonymous ↵Yaron Keren2015-07-281-3/+1
| | | | | | | | namespace per the coding standard. Thanks Craig Tooper for noticing this. llvm-svn: 243381
* Remove unnecessary const_casts. NFCCraig Topper2015-07-281-6/+4
| | | | llvm-svn: 243380
* Reserve some constant values for the Swift calling convention.Bob Wilson2015-07-284-1/+10
| | | | | | | | | | | Swift has a custom calling convention that also requires some new flags on arguments and one new attribute on alloca instructions. This patch does not include the implementation of that calling convention - that will be provided as part of the open-source release of Swift; this only reserves the bitcode constant values so that they are not used for other purposes. llvm-svn: 243379
* FileCheck'ify some wc/grep based tests; NFCI.Sanjoy Das2015-07-282-5/+15
| | | | llvm-svn: 243378
* COFF: Update README to mention that it now supports 32-bit x86.Rui Ueyama2015-07-281-2/+2
| | | | | | | | | | The linker is now able to link not only LLVM/Clang/LLD for x86 but even larger programs. I confirmed that it successsfully linked Chrome for x86. Because the browser is a pretty large program, I think I can say that the linker is now mostly feature complete. (I'm pretty sure that there are hidden bugs somewhere, but they shouldn't be significant.) llvm-svn: 243377
* Fix what looks like accidentally repeated file contents. No behavior change.Nico Weber2015-07-282-6/+0
| | | | llvm-svn: 243376
* COFF: Do not ignore /merge if /debug is specified.Rui Ueyama2015-07-282-3/+1
| | | | | | | | Previously, we ignore /merge option if /debug is specified because I thought that was MSVC linker did. This was wrong. /merge shouldn't be ignored even in debug mode. llvm-svn: 243375
* COFF: /HighEntropyVA is on by default only on 64-bit.Rui Ueyama2015-07-283-5/+6
| | | | llvm-svn: 243374
* COFF: Add /LargeAddressAware command line option.Rui Ueyama2015-07-284-3/+28
| | | | llvm-svn: 243373
* COFF: Fix 32-bit delay-import address table.Rui Ueyama2015-07-282-5/+9
| | | | | | | The address table entry is 32-bit wide on 32-bit and 64-bit on 64-bit. Previously, it was 64-bit even on 32-bit. llvm-svn: 243372
* Split -Wmicrosoft into many specific warnings.Nico Weber2015-07-284-44/+89
| | | | | | | | | | | | | | | | | | | | | | | Also move "pragma comment" warning from -Wmicrosoft to -Wignored-pragmas. -Wmicrosoft currently covers many different areas, some more useful than others. Split it into many targeted flags, so that projects can choose to enable only a subset of these warnings. This is also useful for incrementally fixing and turning on these warnings. -Wno-microsoft still disables all these warnings, and -Wmicrosoft still enables them all. After this change, it's possible to pass `-Wno-microsoft -Wmicrosoft-unqualified-friend` to only enable -Wmicrosoft-unqualified-friend, and `-Wmicrosoft -Wno-microsoft-unqualified-friend` to enable all other Microsoft warnings. I put all the template-related warnings behind -Wmicrosoft-template; if that turns out to be too coarse we can make that finer later on. (In practice, I haven't seen the template-related warnings fire frequently.) Reviewed at http://reviews.llvm.org/D11504 llvm-svn: 243371
* Cleanup C++03 __invoke for Bullets 3 and 4.Eric Fiselier2015-07-282-19/+9
| | | | | | | | | | | | | | | | | | | | | | | The key changes in this patch are: 1. Remove the zero-argument overload in mem_fn. A member function must always be invoked with at least one argument, the class instance. The zero-argument operator()() in mem_fn would cause mem_fn to fail to compile when because the call to '__invoke(pm)' is not well formed. 2. Prevent evaluation of '__apply_cv<Tp, Ret>' when 'Ret' is a function type. 'Ret' is a function type whenever 'Ret Tp::*' is a pointer to member function. Attempting to add cv and ref qualifiers to a function type can cause a hard compile error. 3. Remove the dummy overload __invoke(Rp Tp::*). It was present to help work around #1. It will be replaced with a different '__invoke' overload that represents a bad call to invoke. After applying this patch the test func.wrap.func.inv/invoke.pass.cpp now passes. llvm-svn: 243370
* There is no reason why this formatter should not cascade. Make it cascadeEnrico Granata2015-07-281-1/+1
| | | | llvm-svn: 243369
OpenPOWER on IntegriCloud