summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Ensure __has_feature is defined in test/support/count_new.hppEric Fiselier2015-01-271-0/+4
| | | | llvm-svn: 227263
* Run dos2unix against llvm-pdbdump.Zachary Turner2015-01-276-1612/+1612
| | | | llvm-svn: 227262
* SymbolRewriter: allow rewriting with comdatsSaleem Abdulrasool2015-01-273-0/+73
| | | | | | | | | COMDATs must be identically named to the symbol. When support for COMDATs was introduced, the symbol rewriter was not updated, resulting in rewriting failing for symbols which were placed into COMDATs. This corrects the behaviour and adds test cases for this. llvm-svn: 227261
* SymbolRewriter: prevent unnecessary rewriteSaleem Abdulrasool2015-01-271-0/+3
| | | | | | | The rewrite for the pattern based rewrite is unnecessary if the existing name matches the pattern. llvm-svn: 227260
* Remove kindInGroup reference.Rui Ueyama2015-01-2713-274/+18
| | | | | | | | | | | | That kind of reference was used only in ELFFile, and the use of that reference there didn't seem to make sense. All test still pass (after adjusting symbol names) without that code. LLD is still be able to link LLD and Clang. Looks like we just don't need this. http://reviews.llvm.org/D7189 llvm-svn: 227259
* [ASan] Fix use-after-scope in COMMON_INTERCEPTOR_ENTER implementation.Alexey Samsonov2015-01-271-1/+1
| | | | | | | | Make sure "void *ctx" doesn't point to an object which already went out of scope. This might also fix -Wuninitialized warnings GCC 4.7 produces while building ASan runtime. llvm-svn: 227258
* Add support for dumping debug tables to llvm-pdbdump.Zachary Turner2015-01-278-22/+1678
| | | | | | | | | | | | | PDB stores some of its data in streams and some in tables. This patch teaches llvm-pdbdump to dump basic summary data for the debug tables. In support of this, this patch also adds some DIA helper classes, such as a wrapper around an IDiaSymbol interface, as well as helpers for outputting various enumerations to a raw_ostream. llvm-svn: 227257
* remove function names from comments; NFCSanjay Patel2015-01-271-8/+6
| | | | llvm-svn: 227256
* Re-landing changes to use ArrayRef instead of SmallVectorImpl, and new API test.Chris Bieneman2015-01-273-6/+31
| | | | | | This contains the changes from r227148 & r227154, and also fixes to the test case to properly clean up the stack options. llvm-svn: 227255
* [fuzzer] properly enable asan's coverage feedbackKostya Serebryany2015-01-271-1/+4
| | | | llvm-svn: 227254
* fix typos; NFCSanjay Patel2015-01-271-4/+4
| | | | llvm-svn: 227253
* Add a Fuzzer libraryKostya Serebryany2015-01-2717-0/+799
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: A simple genetic in-process coverage-guided fuzz testing library. I've used this fuzzer to test clang-format (it found 12+ bugs, thanks djasper@ for the fixes!) and it may also help us test other parts of LLVM. So why not keep it in the LLVM repository? I plan to add the cmake build rules later (in a separate patch, if that's ok) and also add a clang-format-fuzzer target. See README.txt for details. Test Plan: Tests will follow separately. Reviewers: djasper, chandlerc, rnk Reviewed By: rnk Subscribers: majnemer, ygribov, dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D7184 llvm-svn: 227252
* Fix a think-o in handling ambiguous corrections for a TypoExpr.Kaelyn Takata2015-01-274-6/+49
| | | | | | | | | | | | | | | | | | | | Under certain circumstances, the identifier mentioned in the diagnostic won't match the intended correction even though the replacement expression and the note pointing to the decl are both correct. Basically, the TreeTransform assumes the TypoExpr's Consumer points to the correct TypoCorrection, but the handling of typos that appear to be ambiguous from the point of view of TransformTypoExpr would cause that assumption to be violated by altering the Consumer's correction stream. This fix allows the Consumer's correction stream to be reset to the right TypoCorrection after successfully resolving the percieved ambiguity. Included is a fix to suppress correcting the RHS of an assignment to the LHS of that assignment for non-C++ code, to prevent a regression in test/SemaObjC/provisional-ivar-lookup.m. This fixes PR22297. llvm-svn: 227251
* [SimplifyLibCalls] Don't confuse strcpy_chk for stpcpy_chk.Ahmed Bougacha2015-01-278-133/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was introduced in a faulty refactoring (r225640, mea culpa): the tests weren't testing the return values, so, for both __strcpy_chk and __stpcpy_chk, we would return the end of the buffer (matching stpcpy) instead of the beginning (for strcpy). The root cause was the prefix "__" being ignored when comparing, which made us always pick LibFunc::stpcpy_chk. Pass the LibFunc::Func directly to avoid this kind of error. Also, make the testcases as explicit as possible to prevent this. The now-useful testcases expose another, entangled, stpcpy problem, with the further simplification. This was introduced in a refactoring (r225640) to match the original behavior. However, this leads to problems when successive simplifications generate several similar instructions, none of which are removed by the custom replaceAllUsesWith. For instance, InstCombine (the main user) doesn't erase the instruction in its custom RAUW. When trying to simplify say __stpcpy_chk: - first, an stpcpy is created (fortified simplifier), - second, a memcpy is created (normal simplifier), but the stpcpy call isn't removed. - third, InstCombine later revisits the instructions, and simplifies the first stpcpy to a memcpy. We now have two memcpys. llvm-svn: 227250
* Teach IRCE to look at branch weights when recognizing range checksSanjoy Das2015-01-276-17/+72
| | | | | | | | | | | Splitting a loop to make range checks redundant is profitable only if the range check "never" fails. Make this fact a part of recognizing a range check -- a branch is a range check only if it is expected to pass (via branch_weights metadata). Differential Revision: http://reviews.llvm.org/D7192 llvm-svn: 227249
* Revert "[x86] Combine x86mmx/i64 to v2i64 conversion to use scalar_to_vector"Alexey Samsonov2015-01-275-68/+9
| | | | | | This reverts commits r226953 and r226974. llvm-svn: 227248
* [ExecutionEngine] Fix r227228 tests on WindowsKeno Fischer2015-01-271-0/+1
| | | | | | | On Windows, we're running MCJIT with ELF, so the module needs to have its Triple explicitly adjusted. llvm-svn: 227247
* dd the option, -link-opt-hints to llvm-objdump used with -macho to print theKevin Enderby2015-01-277-4/+107
| | | | | | Mach-O AArch64 linker optimization hints for ADRP code optimization. llvm-svn: 227246
* [Mips] Remove unused function argumentSimon Atanasyan2015-01-271-4/+4
| | | | | | No functional changes. llvm-svn: 227245
* [Mips] Support R_MIPS_GPREL16 relocationSimon Atanasyan2015-01-274-10/+124
| | | | llvm-svn: 227244
* Merge vector stores into wider vector stores (PR21711)Sanjay Patel2015-01-272-30/+112
| | | | | | | | | | | | | | | | | | | | This patch resolves part of PR21711 ( http://llvm.org/bugs/show_bug.cgi?id=21711 ). The 'f3' test case in that report presents a situation where we have two 128-bit stores extracted from a 256-bit source vector. Instead of producing this: vmovaps %xmm0, (%rdi) vextractf128 $1, %ymm0, 16(%rdi) This patch merges the 128-bit stores into a single 256-bit store: vmovups %ymm0, (%rdi) Differential Revision: http://reviews.llvm.org/D7208 llvm-svn: 227242
* Add llvm-pdbdump to tools.Zachary Turner2015-01-276-1/+495
| | | | | | | | | | | | | | | | | llvm-pdbdump is a tool which can be used to dump the contents of Microsoft-generated PDB files. It makes use of the Microsoft DIA SDK, which is a COM based library designed specifically for this purpose. The initial commit of this tool dumps the raw bytes from PDB data streams. Future commits will dump more semantic information such as types, symbols, source files, etc similar to the types of information accessible via llvm-dwarfdump. Reviewed by: Aaron Ballman, Reid Kleckner, Chandler Carruth Differential Revision: http://reviews.llvm.org/D7153 llvm-svn: 227241
* Fix linking pthread in tests on FreeBSDEric Fiselier2015-01-271-1/+1
| | | | llvm-svn: 227240
* Use Reference::KindValue instead of uint16_t to pass and save a relocation kindSimon Atanasyan2015-01-272-16/+16
| | | | | | No functional changes. llvm-svn: 227233
* [Core] Reformat the code with clang-formatSimon Atanasyan2015-01-271-5/+8
| | | | | | No functional changes. llvm-svn: 227232
* tsan: properly instrument unaligned accessesDmitry Vyukov2015-01-272-1/+165
| | | | | | | | | | | If a memory access is unaligned, emit __tsan_unaligned_read/write callbacks instead of __tsan_read/write. Required to change semantics of __tsan_unaligned_read/write to not do the user memory. But since they were unused (other than through __sanitizer_unaligned_load/store) this is fine. Fixes long standing issue 17: https://code.google.com/p/thread-sanitizer/issues/detail?id=17 llvm-svn: 227231
* tsan: properly instrument unaligned accessesDmitry Vyukov2015-01-274-47/+74
| | | | | | | | | | | If a memory access is unaligned, emit __tsan_unaligned_read/write callbacks instead of __tsan_read/write. Required to change semantics of __tsan_unaligned_read/write to not do the user memory. But since they were unused (other than through __sanitizer_unaligned_load/store) this is fine. Fixes long standing issue 17: https://code.google.com/p/thread-sanitizer/issues/detail?id=17 llvm-svn: 227230
* overloaded-intrinsic-name: exercise anyptr on structRamkumar Ramachandra2015-01-271-0/+10
| | | | | | | | | No other test I know shows how struct names are mangled in overloaded intrinsic functions. Differential Revision: http://reviews.llvm.org/D7037 llvm-svn: 227229
* [ExecutionEngine] Add weak symbol support to RuntimeDyldKeno Fischer2015-01-277-2/+93
| | | | | | | | | | | Support weak symbols by first looking up if there is an externally visible symbol we can find, and only if that fails using the one in the object file we're loading. Reviewed By: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6950 llvm-svn: 227228
* [ExecutionEngine] FindFunctionNamed: Skip declarationsKeno Fischer2015-01-273-2/+23
| | | | | | | | | | | | | | | | Summary: Basically all other methods that look up functions by name skip them if they are mere declarations. Do the same in FindFunctionNamed. Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7068 llvm-svn: 227227
* [libcxx] Make __wrap_iter work with gcc.Nico Weber2015-01-272-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | he following snippet doesn't build when using gcc and libc++: #include <string> void f(const std::string& s) { s.begin(); } #include <vector> void AppendTo(const std::vector<char>& v) { v.begin(); } The problem is that __wrap_iter has a private constructor. It lists vector<> and basic_string<> as friends, but gcc seems to ignore this for vector<> for some reason. Declaring vector before the friend declaration in __wrap_iter is enough to work around this problem, so do that. With this patch, I'm able to build chromium/android with libc++. Without it, two translation units fail to build. (iosfwd already provides a forward declaration of basic_string.) As far as I can tell, this is due to a gcc bug, which I filed as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64816. Fixes PR22355. http://reviews.llvm.org/D7201 llvm-svn: 227226
* [mips] Add range checks and transformation to octeon instructions in AsmParser.Kai Nacke2015-01-272-0/+90
| | | | | | | | | | | | | | | | | This patch adds range checks to the immediate operands of octeon instructions in the AsmParser. Like gas, it applies the following transformations if the immediate is to large: bbit0 $8, 42, foo => bbit032 $8, 10, foo bbit1 $8, 46, foo => bbit132 $8, 14, foo cins $8, $31, 32, 31 => cins32 $8, $31, 0, 31 exts $7, $4, 54, 9 => exts32 $7, $4, 22, 9 Reviewed By: dsanders Differential Revision: http://reviews.llvm.org/D7080 llvm-svn: 227225
* Implement the remaining portion of DR1467 from r227022. I may have ↵Larisse Voufo2015-01-277-73/+230
| | | | | | overlooked a few things, but this implementation comes straight from the DR resolution itself. llvm-svn: 227224
* Check wchar_t type on PS4.Alex Rosenberg2015-01-271-1/+1
| | | | llvm-svn: 227223
* Fix copy paste error in file header.Chaoren Lin2015-01-271-1/+1
| | | | llvm-svn: 227222
* Update the doxygen comments in CGDebugInfo.h to follow the coding standards.Adrian Prantl2015-01-271-46/+46
| | | | llvm-svn: 227221
* Properly handle typos in the conditional of ?: expressions in C.Kaelyn Takata2015-01-273-15/+14
| | | | | | | | | | In particular, remove the OpaqueExpr transformation from r225389 and move the correction of the conditional from CheckConditionalOperands to ActOnConditionalOp before the OpaqueExpr is created. This fixes the typo correction behavior in C code that uses the GNU extension for a binary ?: (without an expression between the "?" and the ":"). llvm-svn: 227220
* Fix part of r227215. PS4 code just omits leaf frame pointers.Filipe Cabecinhas2015-01-271-3/+4
| | | | llvm-svn: 227219
* Clean lldb-mi test cases.Hafiz Abid Qadeer2015-01-278-752/+343
| | | | | | | | | | | This patch adds lldbmi_testcase.MiTestCaseBase class and removes a lot of repitition in the lldb-mi test cases. Also cleans import list and code-style. Presented for review in http://reviews.llvm.org/D7162. Patch from Ilia K <ki.stfu@gmail.com>. llvm-svn: 227218
* The MCJIT doesn't seem to call getPointerForNamedFunction from the ↵Jim Ingham2015-01-272-3/+148
| | | | | | | | | | | | | MemoryManager anymore, switching to getSymbolAddress, which it does call, and implementing it so that we once again look up external symbols in the JIT. Also juked the error reporting from the JIT a little bit. This resolves: http://llvm.org/bugs/show_bug.cgi?id=22314 llvm-svn: 227217
* Add cmake flag LLVM_USE_SANITIZE_COVERAGEKostya Serebryany2015-01-271-0/+3
| | | | | | | | | | | | | | | | | | | | Summary: When LLVM_USE_SANITIZE_COVERAGE=YES and one of the sanitizers is used -fsanitize-coverage=3 will be added to build flag. This will be used to run a coverage-guided fuzzer on various llvm libraries. Test Plan: n/a Reviewers: rnk Reviewed By: rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7116 llvm-svn: 227216
* Added more PS4 defaults for code generationFilipe Cabecinhas2015-01-271-2/+9
| | | | llvm-svn: 227215
* R600/SI: Enable all tests that pass on VI without changesMarek Olsak2015-01-27206-0/+221
| | | | llvm-svn: 227214
* R600/SI: Fix MIN3/MAX3 on VI, define MED3Marek Olsak2015-01-271-9/+16
| | | | llvm-svn: 227213
* R600/SI: Don't set patterns for chip-specific instructions while having pseudosMarek Olsak2015-01-271-50/+43
| | | | | | | | | | | Only pseudos have patterns on them. Also don't set the asm string for VINTRP_Pseudo. All pseudos should have empty asm. This matches what all other multiclasses do. llvm-svn: 227212
* R600/SI: Add VI versions of LDS atomicsMarek Olsak2015-01-273-120/+139
| | | | | | | Each class is split into two: one adds let statements around non-pseudos, and the other one specifies the parameters. llvm-svn: 227211
* R600/SI: Add VI versions of MUBUF atomicsMarek Olsak2015-01-272-73/+80
| | | | llvm-svn: 227210
* R600/SI: Add VI versions of MUBUF loads and storesMarek Olsak2015-01-273-131/+39
| | | | | | This enables a lot of existing patterns for VI. llvm-svn: 227209
* R600/SI: Add pseudos for MUBUF loads and storesMarek Olsak2015-01-271-103/+125
| | | | | | | | | This defines the SI versions only, so it shouldn't change anything. There are no changes other than using the new multiclasses, adding missing mayLoad/mayStore, and formatting fixes. llvm-svn: 227208
* Comments only: removing the Revision and Date svn variables from the top of ↵Andrey Churbanov2015-01-2782-164/+0
| | | | | | all the source files. llvm-svn: 227207
OpenPOWER on IntegriCloud