summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [ADT] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-06-1319-238/+368
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 305326
* Use reference to iterate through string table instead of copying.Eric Beckmann2017-06-131-1/+1
| | | | | | | | | | Summary: just a quick patch Subscribers: ruiu, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D34171 llvm-svn: 305324
* Fix a bug introduced in r305092 on big-endian systems.Eric Beckmann2017-06-131-3/+1
| | | | | | | | | | | | | | Summary: We were writing the length of the string based on system-endianness, and not universally little-endian. This fixes that. Reviewers: zturner Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D34159 llvm-svn: 305322
* [PGO] Update VP metadata after memory intrinsic optimizationTeresa Johnson2017-06-132-2/+15
| | | | | | | | | | | | | | | Summary: Leave an updated VP metadata on the fallback memcpy intrinsic after specialization. This can be used for later possible expansion based on the average of the remaining values. Reviewers: davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34164 llvm-svn: 305321
* Fix alignment complaint.Eric Beckmann2017-06-131-3/+2
| | | | | | | | | | Summary: Apparently we need to write using a void* pointer on some architectures, or else alignment error is caused. Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D34166 llvm-svn: 305320
* [ADT] PointerUnion::getAddrOfPtr1(): fix/silence -Wcast-qual warning.Roman Lebedev2017-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, when D33102 landed, this broke -Werror buildbots. http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/3249 ``` FAILED: /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/install/stage1/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_GLOBAL_ISEL -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen/AsmPrinter -I/home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter -Iinclude -I/home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include -fPIC -fvisibility-inlines-hidden -Werror -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -ffunction-sections -fdata-sections -O3 -UNDEBUG -fno-exceptions -fno-rtti -MMD -MT lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o -MF lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o.d -o lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o -c /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:14: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.h:17: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h:15: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/IR/DebugInfoMetadata.h:26: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/IR/Metadata.h:23: /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/ADT/PointerUnion.h:161:19: error: cast from 'void **' to 'const llvm::DISubprogram **' must have all intermediate pointers const qualified to be safe [-Werror,-Wcast-qual] return (PT1 *)Val.getAddrOfPointer(); ^ /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/ADT/TinyPtrVector.h:177:18: note: in instantiation of member function 'llvm::PointerUnion<const llvm::DISubprogram *, llvm::SmallVector<const llvm::DISubprogram *, 4> *>::getAddrOfPtr1' requested here return Val.getAddrOfPtr1(); ^ /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:1885:33: note: in instantiation of member function 'llvm::TinyPtrVector<const llvm::DISubprogram *>::begin' requested here for (const DISubprogram *SP : MethodItr.second) { ^ 1 error generated. ``` Reviewers: dblaikie, akyrtzi Reviewed By: dblaikie Subscribers: joerg, mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D34153 llvm-svn: 305319
* Revert r305313 & r305303, self-hosting build-bot isn’t liking it.Frederich Munch2017-06-135-51/+13
| | | | llvm-svn: 305318
* [powerpc] deactivate tests combined.test and object.test on powerpc64 beBill Seurer2017-06-132-0/+8
| | | | | | | | | | | These tests fail on powerpc64 BE (only, not LE) and are thus intefering with the running of 3 of the powerpc buildbots. The author of the tests has been notified and is working on fixing them but in the meantime I am disabling them to get the bots working again. See https://bugs.llvm.org//show_bug.cgi?id=33429 llvm-svn: 305317
* [WebAssembly] Cleanup WebAssemblyWasmObjectWriterSam Clegg2017-06-135-33/+26
| | | | | | Differential Revision: https://reviews.llvm.org/D34131 llvm-svn: 305316
* Improve error messages in order to help with fixing a big-endian bug.Eric Beckmann2017-06-135-8/+20
| | | | | | | | | | | | Summary: Added output to stderr so that we can actually see what is happening when the test fails on big endian. Reviewers: zturner Subscribers: llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D34155 llvm-svn: 305314
* Fix self hosting build-bot failure from r305303 by adjusting ↵Frederich Munch2017-06-131-0/+1
| | | | | | DynamicLibraryTests compile flags. llvm-svn: 305313
* [IR] Remove a couple explicitly deleted default constructors on classes that ↵Craig Topper2017-06-132-3/+0
| | | | | | | | have a non-default constructor. NFC The non-default constructor will implicitly delete the default constructor. llvm-svn: 305311
* [AArch64][Falkor] Fix sched details for FDIV, FSQRT, SDIV, UDIVGeoff Berry2017-06-131-11/+50
| | | | llvm-svn: 305310
* Test commit - NFC.Kit Barton2017-06-131-1/+1
| | | | | | Modified a comment to confirm commit access functionality. llvm-svn: 305309
* Fix m_[Ord|Unord][FMin|FMax] matchers to correctly match ordering.Craig Topper2017-06-132-34/+79
| | | | | | | | | | | Previously, the matching was done incorrectly for the case where operands for FCmpInst and SelectInst were in opposite order. Patch by Andrei Elovikov. Differential Revision: https://reviews.llvm.org/D33185 llvm-svn: 305308
* [Hexagon] Generate store-immediate instructions for stack objectsKrzysztof Parzyszek2017-06-133-4/+111
| | | | | | | | | Store-immediate instructions have a non-extendable offset. Since the actual offset for a stack object is not known until much later, only generate these stores when the stack size (at the time of instruction selection) is small. llvm-svn: 305305
* Align definition of DW_OP_plus with DWARF spec [1/3]Florian Hahn2017-06-135-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is part of 3 patches that together form a single patch, but must be introduced in stages in order not to break things. The way that LLVM interprets DW_OP_plus in DIExpression nodes is basically that of the DW_OP_plus_uconst operator since LLVM expects an unsigned constant operand. This unnecessarily restricts the DW_OP_plus operator, preventing it from being used to describe the evaluation of runtime values on the expression stack. These patches try to align the semantics of DW_OP_plus and DW_OP_minus with that of the DWARF definition, which pops two elements off the expression stack, performs the operation and pushes the result back on the stack. This is done in three stages: • The first patch (LLVM) adds support for DW_OP_plus_uconst. • The second patch (Clang) contains changes all its uses from DW_OP_plus to DW_OP_plus_uconst. • The third patch (LLVM) changes the semantics of DW_OP_plus and DW_OP_minus to be in line with its DWARF meaning. This patch includes the bitcode upgrade from legacy DIExpressions. Patch by Sander de Smalen. Reviewers: pcc, echristo, aprantl Reviewed By: aprantl Subscribers: fhahn, aprantl, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D33892 llvm-svn: 305304
* Force RegisterStandardPasses to construct std::function in the IPO library.Frederich Munch2017-06-135-13/+50
| | | | | | | | | | | | | | Summary: Fixes an issue using RegisterStandardPasses from a statically linked object before PassManagerBuilder::addGlobalExtension is called from a dynamic library. Reviewers: efriedma, theraven Reviewed By: efriedma Subscribers: mehdi_amini, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D33515 llvm-svn: 305303
* [Hexagon] Generate multiply-high instruction in iselKrzysztof Parzyszek2017-06-132-0/+32
| | | | llvm-svn: 305302
* bpf: clang-format on BPFAsmPrinter.cppYonghong Song2017-06-131-2/+3
| | | | | Signed-off-by: Yonghong Song <yhs@fb.com> llvm-svn: 305301
* [Hexagon] Don't kill live registers when creating mux out of tfrKrzysztof Parzyszek2017-06-133-8/+37
| | | | | | | | | | | When a mux instruction is created from a pair of complementary conditional transfers, it can be placed at the location of either the earlier or the later of the transfers. Since it will use the operands of the original transfers, putting it in the earlier location may hoist a kill of a source register that was originally further down. Make sure the kill flag is removed if the register is still used afterwards. llvm-svn: 305300
* [PDB] Add a module descriptor for every object fileReid Kleckner2017-06-133-28/+17
| | | | | | | | | | | | | | Summary: Expose the module descriptor index and fill it in for section contributions. Reviewers: zturner Subscribers: llvm-commits, ruiu, hiraditya Differential Revision: https://reviews.llvm.org/D34126 llvm-svn: 305296
* [MIPS] BuildCondBr should preserve MO flagsSimon Dardis2017-06-132-6/+29
| | | | | | | | | | | | | | | | | While simplifying branches in the MachineInstr representation, the routine BuildCondBr must preserve flags on register MachineOperands. In particular, it must preserve the <undef> flag. This fixes a bug that is unlikely to occur in any real scenario, but which bugpoint is likely to introduce. Patch By Nick Johnson! Reviewers: ahatanak, sdardis Differential Revision: https://reviews.llvm.org/D34041 llvm-svn: 305290
* [Hexagon] Stop pmpy recognition when shift conversion failsKrzysztof Parzyszek2017-06-132-1/+50
| | | | | | | The conversion of shifts from right shifts to left shifts may fail. In such case, the pmpy recognition cannot proceed. llvm-svn: 305289
* [ARM] Add scheduling classes for VFNM[AS]Oliver Stannard2017-06-132-6/+50
| | | | | | | | | | The VFNM[AS] instructions did not have scheduling information attached, which was causing assertion failures with the Cortex-A57 scheduling model and -fp-contract=fast, because the Cortex-A57 sched model claims to be complete. Differential Revision: https://reviews.llvm.org/D34139 llvm-svn: 305288
* Strip UTF8 BOM that got added in rL305091Simon Pilgrim2017-06-131-1/+0
| | | | | | Seems my recent move to VS2017 has resulted in a few text editor issues..... llvm-svn: 305285
* [X86][SSE] Refactor getTargetConstantBitsFromNode to avoid large APInts ↵Simon Pilgrim2017-06-131-36/+66
| | | | | | | | | | (PR32037) Much of PR32037's compile time regression is due to getTargetConstantBitsFromNode always creating large (>64bit) APInts during the bitcasting from the source data to the destination bitwidth. This commit avoids this bitcast stage if the data is already the correct bitwidth. llvm-svn: 305284
* Strip UTF8 BOM that got added for some reason in rL305163Simon Pilgrim2017-06-131-1/+1
| | | | llvm-svn: 305282
* PPCISelLowering.cpp: Fix warnings in r305214. [-Wdocumentation]NAKAMURA Takumi2017-06-131-3/+3
| | | | llvm-svn: 305277
* [AVX-512] Mark masked VPCMP instructions as commutable.Craig Topper2017-06-133-14/+40
| | | | llvm-svn: 305276
* [AVX-512] Mark masked version of vpcmpeq as being commutable.Craig Topper2017-06-132-0/+15
| | | | llvm-svn: 305275
* [X86] Add masked integer compare instructions to load folding tables.Craig Topper2017-06-132-0/+86
| | | | llvm-svn: 305274
* Read /out:%t which was (accidentally?) removed in r305258.Daniel Jasper2017-06-131-1/+1
| | | | | | Without it, the source directory gets polluted. llvm-svn: 305271
* [Lexicon] Add GVNBrian Gesiak2017-06-131-0/+7
| | | | | | | | | | | | | | Summary: Add a lexicon entry for global value numbering. Reviewers: davide, majnemer Reviewed By: davide Subscribers: llvm-commits, inouehrs Differential Revision: https://reviews.llvm.org/D33664 llvm-svn: 305270
* Inliner: Avoid calling shouldInline until it's absolutely necessaryDavid Blaikie2017-06-131-15/+21
| | | | | | | | | This restores the order of evaluation (& conditionalized evaluation) of isTriviallyDeadInstruction, InlineHistoryIncludes, and shouldInline (with the addition of a shouldInline call after isTriviallyDeadInstruction) from before r305245. llvm-svn: 305267
* [WebAssembly] Fix symbol type for addresses of external functionsSam Clegg2017-06-133-4/+35
| | | | | | | | | | | | | | These symbols were previously not being marked as functions so were appearing as globals instead, and with the incorrect relocation type. Without this fix, objects that take address of external functions include them as global imports rather than function imports which then fails at link time. Differential Revision: https://reviews.llvm.org/D34068 llvm-svn: 305263
* Fix signed/unsigned comparison warning; NFCGeorge Burgess IV2017-06-131-1/+1
| | | | llvm-svn: 305262
* Adding one test that I forgot to include with the commit for ↵Wolfgang Pieb2017-06-132-0/+56
| | | | | | | | https://reviews.llvm.org/D32779. NFC llvm-svn: 305261
* Revert "Revert "Fix alignment bug in COFF emission.""Eric Beckmann2017-06-131-46/+67
| | | | | | | | | | This revert was done so that my other patch to add test framework could land separately. Now the revert can be reverted and this patch can reland. This reverts commit 18b3c75b2b0d32601fb60a06b9672c33d6f0dff9. llvm-svn: 305259
* Update the test framework for llvm-cvtres to be more comprehensive.Eric Beckmann2017-06-1315-225/+748
| | | | | | | | | | Summary: Added test cases for multiple machine types, file merging, multiple languages, and more resource types. Also fixed new bugs these tests exposed. Subscribers: javed.absar, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D34047 llvm-svn: 305258
* Revert "Fix alignment bug in COFF emission."Eric Beckmann2017-06-1315-815/+271
| | | | | | | | | I accidentally combined this patch with one for adding more tests, they should be separated. This reverts commit 3da218a523be78df32e637d3446ecf97c9ea0465. llvm-svn: 305257
* Fix alignment bug in COFF emission.Eric Beckmann2017-06-1315-271/+815
| | | | | | | | | | | | Summary: Fix alignment issue in D34020, by aligning all sections to 8 bytes. Reviewers: zturner Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D34072 llvm-svn: 305256
* [IR] Remove override of operator new from PHINode.Craig Topper2017-06-131-5/+0
| | | | | | | | This just forwarded to the same signature in User. The version in User is protected so there's no danger of anyone outside of PHINode constructing with the wrong operator new. All PHINodes are created by a static Create function in PHINode. I believe at one point in history this called User::operator new(s, 0) so it was useful then. llvm-svn: 305255
* Update LangRef for PR27284.Adrian Prantl2017-06-121-14/+14
| | | | | | And reverse the ownership between DICompileUnit and DISubprogram. llvm-svn: 305254
* [WebAssembly] MC: Fix value of R_WEBASSEMBLY_TABLE_INDEX relocationsSam Clegg2017-06-122-14/+68
| | | | | | | | | | | | | Previously we were writing the value function index space value but for these types of relocations we want to be writing the table element index space value. Add a test case for these relocation types that fails without this change. Differential Revision: https://reviews.llvm.org/D33962 llvm-svn: 305253
* Use a fixed target triple to s to appease windows botsAdrian Prantl2017-06-121-1/+1
| | | | llvm-svn: 305252
* [IR] Stop deleting other signatures of User::operator new when we override ↵Craig Topper2017-06-127-65/+0
| | | | | | | | | | | | | | | | | | one signature in a class derived from User User has 3 signatures for operator new today. They take a single size, a size and a number of users, and a size, number of users, and descriptor size. Historically there used to only be one signature that took size and a number of uses. Long ago derived classes implemented their own versions that took just a size and would call the size and use count version. Then they left an unimplemented signature for the size and use count signature from User. As we moved to C++11 this unimplemented signature because = delete. Since then operator new has picked up two new signatures for operator new. But when the 3 argument version was added it was never added to the delete list in all of the derived classes where the 2 argument version is deleted. This makes things inconsistent. I believe once one version of operator new is created in a derived class name hiding will take care of making all of the base class signatures unavailable. So I don't think the deleted lines are needed at all. This patch removes all of the deletes in cases where there is an override or there is already a delete of another signature (that should trigger name hiding too). Differential Revision: https://reviews.llvm.org/D34120 llvm-svn: 305251
* Fix line endings.Zachary Turner2017-06-122-16/+16
| | | | llvm-svn: 305249
* [pdb] Don't choke on unknown symbol types.Zachary Turner2017-06-123-6/+64
| | | | | | | | | When we get an unknown symbol type, we might as well at least dump it. Same goes for round-tripping through YAML, we can dump the record contents as raw bytes even if we don't know how to interpret it semantically. llvm-svn: 305248
* Inliner: Don't remove calls to readnone+nounwind (but not always_inline) ↵David Blaikie2017-06-122-9/+21
| | | | | | functions in the AlwaysInliner llvm-svn: 305245
OpenPOWER on IntegriCloud