summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Fix some Include What You Use warnings; other minor fixes (NFC).Eugene Zelenko2017-02-065-19/+37
| | | | | | This is preparation to reduce MCExpr.h dependencies.(vlsj-clangbuild)[622] llvm-svn: 294246
* [SLP] Revert "Allow using of extra values in horizontal reductions."Michael Kuperstein2017-02-062-181/+146
| | | | | | | | This breaks when one of the extra values is also a scalar that participates in the same vectorization tree which we'll end up reducing. llvm-svn: 294245
* Remove verbose category in the kdp channelPavel Labath2017-02-064-14/+7
| | | | llvm-svn: 294244
* Switch PlatformLinux to LLDB_LOGPavel Labath2017-02-061-83/+21
| | | | llvm-svn: 294243
* [SCEV] Scale back the test added in r294181 as it goes quadratic inChandler Carruth2017-02-061-1/+5
| | | | | | | | | | | | | | | SCEV. This test was immediately the slowest test in 'check-llvm' even in an optimized build and was driving up the total test time by 50% for me. Sanjoy has filed a PR about the quadratic behavior in SCEV but it is also concerning that the test still passes given that r294181 added a threshold at 32 to SCEV. I've followed up on the original patch to figure out how this test should work long-term, but for now I want to get check-llvm to be fast again. llvm-svn: 294241
* IR: Consider two DISubprograms to be odr-equal if they have the same ↵Peter Collingbourne2017-02-062-3/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | template parameters. In ValueMapper we create new operands for MDNodes and rely on MDNode::replaceWithUniqued to create a new MDNode with the specified operands. However this doesn't always actually happen correctly for DISubprograms because when we uniquify the new node, we only odr-compare it with existing nodes (MDNodeSubsetEqualImpl<DISubprogram>::isDeclarationOfODRMember). Although the TemplateParameters field can refer to a distinct DICompileUnit via DITemplateTypeParameter::type -> DICompositeType::scope -> DISubprogram::unit, it is not currently included in the odr comparison. As a result, we can end up getting our original DISubprogram back, which means we will have a cloned module referring to the DICompileUnit in the original module, which causes a verification error. The fix I implemented was to consider TemplateParameters to be one of the odr-equal properties. But I'm a little uncomfortable with this. In general it seems unsound to rely on distinct MDNodes never being reachable from nodes which we only check odr-equality of. My only long term suggestion would be to separate odr-uniquing from full uniquing. Differential Revision: https://reviews.llvm.org/D29240 llvm-svn: 294240
* [libFuzzer] make code less clever to avoid fallthrough in switch (and in ↵Kostya Serebryany2017-02-061-3/+3
| | | | | | turn avoid compiler warnings). NFC. Suggested by Christian Holler. llvm-svn: 294239
* Attempt to fix a flakey test.Rui Ueyama2017-02-061-1/+1
| | | | | | | I believe that the test is flakey because the order of stdout and stderr is not deterministic. llvm-svn: 294238
* Fix a bug in llvm-obdump(1) with the -macho and -info-plist optionsKevin Enderby2017-02-062-1/+11
| | | | | | | | | which caused it to print more than the (__TEXT,__info_plist) if that section did not end with a null. rdar://27378808 llvm-svn: 294236
* [PM/LCG] Fix the no-asserts build after r294227. Sorry for the noise.Chandler Carruth2017-02-061-0/+2
| | | | llvm-svn: 294235
* Add an option to use the MSVC linker to link LTO-generated object files.Rui Ueyama2017-02-0610-17/+120
| | | | | | | | | | | This patch defines a new command line option, /MSVCLTO, to LLD. If that option is given, LLD invokes link.exe to link LTO-generated object files. This is hacky but useful because link.exe can create PDB files. Differential Revision: https://reviews.llvm.org/D29526 llvm-svn: 294234
* Get function start line number from DWARF infoDavid Blaikie2017-02-066-16/+52
| | | | | | | | | | | | | | | DWARF info contains info about the line number at which a function starts (DW_AT_decl_line). This patch creates a function to look up the start line number for a function, and returns it in DILineInfo when looking up debug info for a particular address. Patch by Simon Que! Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D27962 llvm-svn: 294231
* [TableGen] Use less stack in DAGISelMatcherOptJon Chesterfield2017-02-061-9/+15
| | | | | | | | Refactor a helper function, FactorNodes, to search for a push node in constant space. This resolves a problem in a not-yet-upstreamed backend where a recursive pattern blew the call stack (at a depth of 255) under a debug build of tablegen. No functional change so no new test coverage. The change is minimal to avoid disturbing existing behaviour. Differential Revision: https://reviews.llvm.org/D29080 llvm-svn: 294230
* Revert r294228Jon Chesterfield2017-02-061-1/+0
| | | | llvm-svn: 294229
* Test commit accessJon Chesterfield2017-02-061-0/+1
| | | | llvm-svn: 294228
* [PM/LCG] Remove the lazy RefSCC formation from the LazyCallGraph duringChandler Carruth2017-02-065-470/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iteration. The lazy formation of RefSCCs isn't really the most important part of the laziness here -- that has to do with walking the functions themselves -- and isn't essential to maintain. Originally, there were incremental update algorithms that relied on updates happening predominantly near the most recent RefSCC formed, but those have been replaced with ones that have much tighter general case bounds at this point. We do still perform asserts that only scale well due to this incrementality, but those are easy to place behind EXPENSIVE_CHECKS. Removing this simplifies the entire analysis by having a single up-front step that builds all of the RefSCCs in a direct Tarjan walk. We can even easily replace this with other or better algorithms at will and with much less confusion now that there is no iterator-based incremental logic involved. This removes a lot of complexity from LCG. Another advantage of moving in this direction is that it simplifies testing the system substantially as we no longer have to worry about observing and mutating the graph half-way through the RefSCC formation. We still need a somewhat special iterator for RefSCCs because we want the iterator to remain stable in the face of graph updates. However, this now merely involves relative indexing to the current RefSCC's position in the sequence which isn't too hard. Differential Revision: https://reviews.llvm.org/D29381 llvm-svn: 294227
* [Hexagon] Update MCTargetDescKrzysztof Parzyszek2017-02-0635-714/+1236
| | | | | | | | | | Changes include: - Updates to the instruction descriptor flags. - Improvements to the packet shuffler and checker. - Updates to the handling of certain relocations. - Better handling of duplex instructions. llvm-svn: 294226
* [Lit Test] Make tests C++11 compatible - Microsoft diagnosticsCharles Li2017-02-064-50/+293
| | | | | | Differential Revision: https://reviews.llvm.org/D29520 llvm-svn: 294225
* Remove the verbose category in the gdb-remote channelPavel Labath2017-02-065-27/+13
| | | | | | replace by LLDB_LOGV llvm-svn: 294224
* Remove the verbose category in the posix channelPavel Labath2017-02-065-29/+15
| | | | | | replace by LLDB_LOGV llvm-svn: 294223
* Fix darwin build (error.PutToLog fallout)Pavel Labath2017-02-061-18/+6
| | | | llvm-svn: 294222
* Fix darwin build (llvm::once_flag fallout)Pavel Labath2017-02-062-2/+3
| | | | llvm-svn: 294221
* Remove the verbose category in the dwarf channelPavel Labath2017-02-063-9/+3
| | | | llvm-svn: 294219
* [X86][SSE] Add tests showing missed opportunities to simplify integer ↵Simon Pilgrim2017-02-061-0/+79
| | | | | | absolute instructions llvm-svn: 294216
* Really fix build on non-windows platforms :)Pavel Labath2017-02-061-1/+1
| | | | llvm-svn: 294215
* Fix a race in shutdown when tasking is used.Andrey Churbanov2017-02-064-1/+41
| | | | | | | | Patch by Terry Wilmarth. Differential Revision: https://reviews.llvm.org/D28377 llvm-svn: 294214
* Try to fix build on non-Windows platforms.Zachary Turner2017-02-061-5/+6
| | | | llvm-svn: 294213
* Fix a bug in llvm-obdump(1) with the -macho and -disassemble optionsKevin Enderby2017-02-063-1/+36
| | | | | | | | | | which caused it to not disassemble the bytes a the start of the section if the section had symbols and the first symbol was not at the start of the section. rdar://30143243 llvm-svn: 294212
* Fix missing include in NativeProcessLinuxPavel Labath2017-02-061-7/+4
| | | | llvm-svn: 294211
* Get rid of Error::PutToLog().Zachary Turner2017-02-065-168/+57
| | | | | | | | | | | | | Instead just rely on LLDB_LOG(). This is part of an effort to sort out dependency hell in LLDB. Error is in Utility, but Log is in Core. Core can depend on Utility, but not vice versa. So this patch moves the knowledge about how to log Errors from the Error class to the Log file. Differential Revision: https://reviews.llvm.org/D29514 llvm-svn: 294210
* [Support] Add support for runtime endian values.Zachary Turner2017-02-062-20/+71
| | | | | | | | | | | Endian functions only support reading and writing when the endianness is known at compile time. This patch adds overloads where the endianness is a runtime value, and then delegates the compile-time versions to the runtime versions. Differential Revision: https://reviews.llvm.org/D29467 llvm-svn: 294209
* [ValueTracking] emit a remark when we detect a conflicting assumption (PR31809)Sanjay Patel2017-02-066-25/+73
| | | | | | | | | | | | This is a follow-up to D29395 where we try to be good citizens and let the user know that we've probably gone off the rails. This should allow us to resolve: https://llvm.org/bugs/show_bug.cgi?id=31809 Differential Revision: https://reviews.llvm.org/D29404 llvm-svn: 294208
* [CMake] Add CLANG_INCLUDE_DIRS to CMake exportsChris Bieneman2017-02-062-0/+8
| | | | | | This patch adds setting CLANG_INCLUDE_DIRS in the generated CMake package configuration files. llvm-svn: 294207
* Fix Xcode project.Greg Clayton2017-02-061-38/+38
| | | | llvm-svn: 294206
* Fix the bug of samplepgo indirect call promption when type casting of the ↵Dehao Chen2017-02-062-8/+12
| | | | | | | | | | | | | | | | return value is needed. Summary: When type casting of the return value is needed, promoteIndirectCall will return the type casting instruction instead of the direct call. This patch changed to return the direct call instruction instead. Reviewers: davidxl Reviewed By: davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29569 llvm-svn: 294205
* [LangRef] Document some LLVM inline asm special escapesReid Kleckner2017-02-061-0/+16
| | | | | | | As discussed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2017-February/109862.html llvm-svn: 294204
* [AArch64] Fix incorrect MachinePointerInfo in splitStoreSplatJohn Brawn2017-02-063-2/+134
| | | | | | | | | | | When splitting up one store into several in splitStoreSplat we have to make sure we get the MachinePointerInfo right, otherwise alias analysis thinks they all store to the same location. This can then cause invalid scheduling later on. Differential Revision: https://reviews.llvm.org/D29446 llvm-svn: 294203
* Switch std::call_once to llvm::call_onceKamil Rytarowski2017-02-0636-111/+157
| | | | | | | | | | | | | | | | | | | | | Summary: The std::call_once implementation in libstdc++ has problems on few systems: NetBSD, OpenBSD and Linux PPC. LLVM ships with a homegrown implementation llvm::call_once to help on these platforms. This change is required in the NetBSD LLDB port. std::call_once with libstdc++ results with crashing the debugger. Sponsored by <The NetBSD Foundation> Reviewers: labath, joerg, emaste, mehdi_amini, clayborg Reviewed By: labath, clayborg Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D29288 llvm-svn: 294202
* [DAGCombiner] Support bswap as a part of load combine patternsArtur Pilipenko2017-02-066-0/+148
| | | | | | | | Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D29397 llvm-svn: 294201
* [asan] Remove `using std::vector` and `using std::map`Alexander Kornienko2017-02-064-5/+4
| | | | | | Looks like these are not needed anymore. llvm-svn: 294200
* [scudo] Fix standalone compiler-rt test breakageKostya Kortchinsky2017-02-061-0/+2
| | | | | | | | | | | | | | | | | | | Summary: Apparently "test standalone compiler-rt" still requires -ldl and -lrt for Scudo even with --gc-sections. I am not entirely sure why, so if anybody has some input, feel free to chime in. In the meantime, add again those two to fix the test. Reviewers: kcc, alekseyshl Reviewed By: kcc Subscribers: Hahnfeld, dberris, llvm-commits Differential Revision: https://reviews.llvm.org/D29527 llvm-svn: 294199
* [InstCombine] simplify dyn_cast + isa; NFCISanjay Patel2017-02-061-6/+4
| | | | llvm-svn: 294198
* [SystemZ] Provide predefined __ARCH__ and __VX__ macrosUlrich Weigand2017-02-062-23/+81
| | | | | | | | | | | | GCC 7 will predefine two new macros on s390x: - __ARCH__ indicates the ISA architecture level - __VX__ indicates that the vector facility is available This adds those macros to clang as well to ensure continued compatibility with GCC. llvm-svn: 294197
* Commit full codegen for mul-i256.ll . NFCAmaury Sechet2017-02-061-19/+277
| | | | | | The full codegen is committed for larger multiply, so that won't make the test suite more fragile. However, it'll allow to expose the effects fo various DAG combine. llvm-svn: 294196
* [OpenMP] Remove fixme comment in regression test and related unnecessary ↵Carlo Bertolli2017-02-061-2/+0
| | | | | | | | | | statement https://reviews.llvm.org/D29501 It looks like I forgot to remove a FIXME comment with the associated statement. The test does not need it and it gives the wrong impression of being an incomplete test. llvm-svn: 294195
* Add some tests to verify that we implement LWG#2837 correctly. No functional ↵Marshall Clow2017-02-063-2/+16
| | | | | | change. llvm-svn: 294194
* [clang-tidy] misc-argument-comment support for gmockAlexander Kornienko2017-02-064-103/+225
| | | | | | | | Now for real. The use case supported previously is used by approximately nobody. What's needed is support for matching argument comments in EXPECT_xxx calls to the names of parameters of the mocked methods. llvm-svn: 294193
* [clang-tidy] getPreviousNonCommentToken -> getPreviousTokenAlexander Kornienko2017-02-065-11/+10
| | | | llvm-svn: 294192
* RuntimeDyldELF/AArch64: Implement basic GOT supportEugene Leviant2017-02-065-73/+222
| | | | | | | | | This patch implements two GOT relocations: R_AARCH64_ADR_GOT_PAGE and R_AARCH64_LD64_GOT_LO12_NC Differential revision: https://reviews.llvm.org/D28571 llvm-svn: 294191
* Fix a typo - extra '>'Marshall Clow2017-02-061-2/+2
| | | | llvm-svn: 294190
OpenPOWER on IntegriCloud