summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [clang-tidy] Python scripts shebang fixesAlexander Kornienko2016-01-193-3/+3
| | | | | | | | | | | | | | | | | | | Summary: This patch fixes shebang lines in Python script files. Most Python scripts in LLVM & Clang are using this shebang line. [[ https://mail.python.org/pipermail/tutor/2007-June/054816.html | Here]] is an explanaiton of why such line should be used instead of what is currently in these few files. Reviewers: klimek, alexfh Subscribers: cfe-commits Patch by Kirill Bobyrev! Differential Revision: http://reviews.llvm.org/D16270 llvm-svn: 258133
* [X86] Adding support for missing variations of X86 string related instructionsMarina Yatsina2016-01-194-75/+243
| | | | | | | | | | | | | | | The following are legal according to X86 spec: ins mem, DX outs DX, mem lods mem stos mem scas mem cmps mem, mem movs mem, mem Differential Revision: http://reviews.llvm.org/D14827 llvm-svn: 258132
* Rename -Wexpansion-to-undefined to -Wexpansion-to-defined.Nico Weber2016-01-192-3/+3
| | | | llvm-svn: 258131
* Rename Variable `Ptr` to `PtrTy`. NFC.Manuel Jacob2016-01-191-6/+6
| | | | llvm-svn: 258130
* Handle 64 bit offsets.Rafael Espindola2016-01-191-1/+1
| | | | | | | | | No tests since llvm-mc takes 14 seconds on it. I will try to improve it and then test. Part of pr26208. llvm-svn: 258129
* Add -Wexpansion-to-undefined: warn when using `defined` in a macro definition.Nico Weber2016-01-195-4/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [cpp.cond]p4: Prior to evaluation, macro invocations in the list of preprocessing tokens that will become the controlling constant expression are replaced (except for those macro names modified by the 'defined' unary operator), just as in normal text. If the token 'defined' is generated as a result of this replacement process or use of the 'defined' unary operator does not match one of the two specified forms prior to macro replacement, the behavior is undefined. This isn't an idle threat, consider this program: #define FOO #define BAR defined(FOO) #if BAR ... #else ... #endif clang and gcc will pick the #if branch while Visual Studio will take the #else branch. Emit a warning about this undefined behavior. One problem is that this also applies to function-like macros. While the example above can be written like #if defined(FOO) && defined(BAR) #defined HAVE_FOO 1 #else #define HAVE_FOO 0 #endif there is no easy way to rewrite a function-like macro like `#define FOO(x) (defined __foo_##x && __foo_##x)`. Function-like macros like this are used in practice, and compilers seem to not have differing behavior in that case. So this a default-on warning only for object-like macros. For function-like macros, it is an extension warning that only shows up with `-pedantic`. (But it's undefined behavior in both cases.) llvm-svn: 258128
* [WebAssembly] Disable some WebAssembly-specific optimization passes at -O0.Dan Gohman2016-01-191-3/+6
| | | | llvm-svn: 258127
* [WebAssembly] Use the templated form of MachineFunction::getSubtarget(). NFC.Dan Gohman2016-01-192-5/+4
| | | | llvm-svn: 258126
* [WebAssembly] Re-enable loop idiom recognition for memcpy et al.Dan Gohman2016-01-192-56/+1
| | | | llvm-svn: 258125
* [X86][AVX512]fix dag & add intrinsics for fixupimmAsaf Badouh2016-01-198-17/+605
| | | | | | | | cover all width and types (pd/ps/sd/ss) of fixupimm instruction and inrtinsics Differential Revision: http://reviews.llvm.org/D16313 llvm-svn: 258124
* Fix formatting of fully qualified names in array subscripts.Manuel Klimek2016-01-192-1/+3
| | | | | | | | | | Before: a[ ::b::c]; After: a[::b::c]; llvm-svn: 258123
* Fix for Bug 25338Ravitheja Addepally2016-01-195-25/+67
| | | | | | | | | | | | | | | | Summary: The issue arises because LLDB is not able to read the vdso library correctly. The fix adds memory allocation callbacks to allocate sufficient memory in case the requested offsets don't fit in the memory buffer allocated for the ELF. Reviewers: lldb-commits, clayborg, deepak2427, ovyalov, labath, tberghammer Differential Revision: http://reviews.llvm.org/D16107 llvm-svn: 258122
* tsan: add back __tls_get_addr interceptorDmitry Vyukov2016-01-191-0/+15
| | | | | | | | Removal of the interceptor broke libtsan interface in gcc: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68824 Add back a simple interceptor. llvm-svn: 258119
* [ELF] - R_386_GOT32 relocation calculation fix.George Rimar2016-01-192-8/+24
| | | | | | | | | | | | | | | R_386_GOT32 has multiple descriptions: "System V Application Binary Interface Intel386 Architecture Processor Supplement Version 1.1" (https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-1.1.pdf), p36 contains next calculation for R_386_GOT32: G + A - GOT. SYSTEM V APPLICATION BINARY INTERFACE 4 (https://refspecs.linuxfoundation.org/elf/abi386-4.pdf, p78) tolds us its G + A - P. Oracle docs (https://docs.oracle.com/cd/E19455-01/816-0559/chapter6-26/index.html) says its should be G + A. gold/bfd calculates it as "G + A - GOT", but GOT means the end of the GOT section. Patch fixes current calculation to gold/ld behavior. Differential revision: http://reviews.llvm.org/D15750 llvm-svn: 258115
* Remove last XTIMEOUTs from android testsPavel Labath2016-01-192-6/+4
| | | | | | | | TestHelloWorld seems to be passing now as far as I can tell. TestExitDuringStep is still hanging. I have marked the relevant tests as flaky, which should handle the timeouts now as well. I'll be monitoring the buildbots for fallout. llvm-svn: 258114
* Unconditionally accept symbol sizes from elfTamas Berghammer2016-01-194-12/+33
| | | | | | | | | | | | | | | | | | | The ELF symbol table always contain the size of the symbols so we don't have to try to guess them based on the address of the next symbol (it is needed for mach-o). The change fixes an issue when a symbol is removed after a 0 size symbol (e.g. because the second one is not public) what previously caused the symbol lookup algorithm to end up with showing the 0 size symbol even for the later addresses (what are not part of any symbol). That symbol lookup error can confuse the user and also confuses the current stack unwinder. Re-commit this CL after fixing the issue with gcc-4.9.2 on i386 Linux. Differential revision: http://reviews.llvm.org/D16186 llvm-svn: 258113
* docs: address post-commit reviewAndrew Wilkins2016-01-191-6/+9
| | | | | | | | | Rewording/expansion of CMake options suggested by Dan Liew. See http://reviews.llvm.org/D16208. llvm-svn: 258112
* [GC] Lower vectors-of-pointers directly by defaultPhilip Reames2016-01-191-1/+1
| | | | | | This commit changes the default on our lowering of vectors-of-pointers from splitting in RS4GC to reporting them in the final stack map. All of the changes to do so are already in place and tested. Assuming no problems are unearthed in the next week, we will be deleting the old code entirely next Monday. llvm-svn: 258111
* Fix PR26134: When substituting into default template arguments, keep ↵Faisal Vali2016-01-192-1/+28
| | | | | | | | | | | | | | | CurContext unchanged. Or, do not set Sema's CurContext to the template declaration's when substituting into default template arguments of said template declaration. If we do push the template declaration context on to Sema, and the template declaration is at namespace scope, Sema can get confused and try and do odr analysis when substituting into default template arguments, even though the substitution could be occurring within a dependent context. I'm not sure why this was being done, perhaps there was concern that if a default template argument referred to a previous template parameter, it might not be found during substitution - but all regression tests pass, and I can't craft a test that would cause it to fails (if some one does, please inform me, and i'll craft a different fix for the PR). This patch removes a single line of code, but unfortunately adds more than it removes, because of the tests. Some day I still hope to commit a patch that removes far more lines than it adds, while leaving clang better for it ;) Sorry that r253590 ("Change the expression evaluation context from Unevaluated to ConstantEvaluated while substituting into non-type template argument defaults") caused the PR! llvm-svn: 258110
* [GC] Consolidate all built in GCs into a single file [NFC]Philip Reames2016-01-198-252/+145
| | | | | | Combine a bunch of small files into a single, still rather small, file. The primary purpose of this is to get all of the static initializers into a single file so as to have a well defined order of initialization. llvm-svn: 258109
* [AVX512] Fix typo in r226298Adam Nemet2016-01-191-2/+2
| | | | | | | Hal noticed that the double/float got mixed up on the parameters for these. llvm-svn: 258108
* Fix PR#26175. Thanks to Josh Petrie for the report and the patch. Reviewed ↵Marshall Clow2016-01-192-0/+4
| | | | | | as http://reviews.llvm.org/D16262 llvm-svn: 258107
* Fix local variable name /NFCXinliang David Li2016-01-192-3/+3
| | | | llvm-svn: 258106
* Make sure we preserve alignment information after hoisting invariant loadJohannes Doerfert2016-01-193-5/+43
| | | | | | | | | | | In Polly, after hoisting loop invariant loads outside loop, the alignment information for hoisted loads are missing, this patch restore them. Contributed-by: Lawrence Hu <lawrence@codeaurora.org> Differential Revision: http://reviews.llvm.org/D16160 llvm-svn: 258105
* Delete addIgnoredStrong.Rafael Espindola2016-01-196-17/+3
| | | | | | | It is not needed now that we resolve symbols is shared libraries correctly. llvm-svn: 258104
* parseArch() supports more variations of arch names for PowerPC buildsKelvin Li2016-01-191-4/+4
| | | | llvm-svn: 258103
* Prefer symbols from .o over .so.Rafael Espindola2016-01-183-7/+21
| | | | | | This matches the behavior of gold and bfd ld. llvm-svn: 258102
* Add a change accidentally left out from r258100Tobias Edler von Koch2016-01-182-0/+5
| | | | | | Also remove an executable bit introduced by r258083. llvm-svn: 258101
* [LTO] Restore original linkage of externals prior to splittingTobias Edler von Koch2016-01-183-2/+85
| | | | | | | | | | | | | | | | | | | | | | | Summary: This is a companion patch for http://reviews.llvm.org/D16124. Internalized symbols increase the size of strongly-connected components in SCC-based module splitting and thus reduce the amount of parallelism. This patch records the original linkage of non-local symbols prior to internalization and then restores it just before splitting/CodeGen. This is also useful for cases where the linker requires symbols to remain external, for instance, so they can be placed according to linker script rules. It's currently under its own flag (-restore-globals) but should eventually share a common flag with D16124. Reviewers: joker.eph, pcc Subscribers: slarin, llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D16229 llvm-svn: 258100
* Fixed MSVC warning that not all control paths return a value.Simon Pilgrim2016-01-181-0/+1
| | | | llvm-svn: 258099
* [clang-tidy] Fixed wording ("clang-tidy check", not "clang-tidy checker")Alexander Kornienko2016-01-1812-12/+12
| | | | llvm-svn: 258098
* fix formatting; NFCSanjay Patel2016-01-181-7/+5
| | | | llvm-svn: 258097
* AMDGPU: Reduce 64-bit SRAsMatt Arsenault2016-01-185-20/+92
| | | | llvm-svn: 258096
* AMDGPU: Split 64-bit and of constant upMatt Arsenault2016-01-186-53/+469
| | | | | | | | | | This breaks the tests that were meant for testing 64-bit inline immediates, so move those to shl where they won't be broken up. This should be repeated for the other related bit ops. llvm-svn: 258095
* [X86][AVX2] Ensure integer execution domain for integer blend testsSimon Pilgrim2016-01-181-2/+6
| | | | llvm-svn: 258094
* [AArch64] Remove unused arguments. NFC.Chad Rosier2016-01-181-7/+7
| | | | | | AFAICT, these have been unused since the initial backend import. llvm-svn: 258093
* AMDGPU: Generalize shl combineMatt Arsenault2016-01-182-8/+61
| | | | | | | Reduce 64-bit shl with constant > 32. We already special cased this for the == 32 case, but this also works for any >= 32 constant. llvm-svn: 258092
* [X86][SSE] Regenerate vector blend commutation testsSimon Pilgrim2016-01-182-46/+48
| | | | llvm-svn: 258091
* AMDGPU: Reduce 64-bit lshr by constant to 32-bitMatt Arsenault2016-01-184-2/+109
| | | | | | 64-bit shifts are very slow on some subtargets. llvm-svn: 258090
* [Support/ELF] Remove field erroneously added in r258025.Davide Italiano2016-01-181-2/+1
| | | | | | | | | Although glibc defines it, this is currently of no use for my primary use-case (dumping DT_* keys correctly). Its semantic is not described anywhere I can find, so better leave it out for now. Thanks to Rafael for pointing out in his post-commit review! llvm-svn: 258089
* [LAA] Include function name in debug outputAdam Nemet2016-01-181-3/+4
| | | | llvm-svn: 258088
* [JIT] Add small-code model test for ELF.Davide Italiano2016-01-181-0/+15
| | | | | | | | The coverage is almost non-existent, hopefully more will come after this. Differential Revision: http://reviews.llvm.org/D16096 llvm-svn: 258087
* AMDGPU: Cleanup sra testMatt Arsenault2016-01-181-163/+206
| | | | llvm-svn: 258086
* AMDGPU: Add subtarget feature for instruction ratesMatt Arsenault2016-01-184-9/+23
| | | | llvm-svn: 258085
* Fixed MSVC Win64 warning of implicit conversion of 32-bit shift to 64-bits.Simon Pilgrim2016-01-181-1/+1
| | | | llvm-svn: 258084
* Add to the split module utility an SCC based method which allows not to ↵Sergei Larin2016-01-1812-24/+513
| | | | | | | | | | | | | | | | | | globalize any local variables. Summary: Currently llvm::SplitModule as the first step globalizes all local objects, which might not be desirable in some scenarios. This change adds a new flag to llvm::SplitModule that uses SCC approach to search for a balanced partition without the need to externalize symbols. Such partition might not be possible or fully balanced for a given number of partitions, and is a function of the module properties (global/local dependencies within the module). Joint development Tobias Edler von Koch (tobias@codeaurora.org) and Sergei Larin (slarin@codeaurora.org) Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D16124 llvm-svn: 258083
* Delete dead code.Rafael Espindola2016-01-181-5/+0
| | | | llvm-svn: 258082
* [X86][AVX2] Broadcast subvectorsSimon Pilgrim2016-01-188-21/+158
| | | | | | | | AVX2 can only broadcast from the zero'th element of a vector, but if the broadcastable element is the zero'th element of a 128-bit subvector its advantageous to extract the subvector, broadcast from that and avoid the loading of shuffle mask data that would be needed for VPERMPS/VPERMD. The only exception being when the source type is 4f64 or 4i64 which can directly use the immediate shuffle VPERMPD/VPERMQ directly. Differential Revision: http://reviews.llvm.org/D16050 llvm-svn: 258081
* Update for llvm change. NFC.Rafael Espindola2016-01-184-7/+7
| | | | llvm-svn: 258080
* Use new function name. NFC.Rafael Espindola2016-01-181-3/+2
| | | | llvm-svn: 258079
OpenPOWER on IntegriCloud