summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in class annotationJan Korous2017-11-021-1/+1
| | | | llvm-svn: 317200
* [AsmPrinterDwarf] Add support for .cfi_restore directiveFrancis Visoiu Mistrih2017-11-0210-31/+148
| | | | | | | | | | | | | | As of today we only use .cfi_offset to specify the offset of a CSR, but we never use .cfi_restore when the CSR is restored. If we want to perform a more advanced type of shrink-wrapping, we need to use .cfi_restore in order to switch the CFI state between blocks. This patch only aims at adding support for the directive. Differential Revision: https://reviews.llvm.org/D36114 llvm-svn: 317199
* [SimplifyCFG] Discard speculated dbg intrinsicsBjorn Pettersson2017-11-022-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: SpeculativelyExecuteBB can flatten the CFG by doing speculative execution followed by a select instruction. When the speculatively executed BB contained dbg intrinsics the result could be a little bit weird, since those dbg intrinsics were inserted before the select in the flattened CFG. So when single stepping in the debugger, printing the value of the variable referenced in the dbg intrinsic, it could happen that it looked like the variable had values that never actually were assigned to the variable. This patch simply discards all dbg intrinsics that were found in the speculatively executed BB. Reviewers: aprantl, chandlerc, craig.topper Reviewed By: aprantl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39494 llvm-svn: 317198
* [ARM] and, or, xor and add with shl combineSam Parker2017-11-022-7/+293
| | | | | | | | | | | | | | | | | | | The generic dag combiner will fold: (shl (add x, c1), c2) -> (add (shl x, c2), c1 << c2) (shl (or x, c1), c2) -> (or (shl x, c2), c1 << c2) This can create constants which are too large to use as an immediate. Many ALU operations are also able of performing the shl, so we can unfold the transformation to prevent a mov imm instruction from being generated. Other patterns, such as b + ((a << 1) | 510), can also be simplified in the same manner. Differential Revision: https://reviews.llvm.org/D38084 llvm-svn: 317197
* The patch updates sched numbers for YMM AVX instrs such as VMOVx, VORx, ↵Andrew V. Tischenko2017-11-024-36/+129
| | | | | | | | | VXOR, VPERMILx, VBROADCASTx, etc. PR32857 should be closed. Differential Revision: https://reviews.llvm.org/D39227 llvm-svn: 317196
* Update go bindings to use new functions from rL317135.Sam McCall2017-11-023-35/+14
| | | | | | This fixes duplicate symbol problems. llvm-svn: 317195
* Fix clangd test on platforms where get_thread_name does nothing.Sam McCall2017-11-021-2/+10
| | | | llvm-svn: 317194
* Performance tracing facility for clangd.Sam McCall2017-11-0211-19/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This lets you visualize clangd's activity on different threads over time, and understand critical paths of requests and object lifetimes. The data produced can be visualized in Chrome (at chrome://tracing), or in a standalone copy of catapult (http://github.com/catapult-project/catapult) This patch consists of: - a command line flag "-trace" that causes clangd to emit JSON trace data - an API (in Trace.h) allowing clangd code to easily add events to the stream - several initial uses of this API to capture JSON-RPC requests, builds, logs Example result: https://photos.app.goo.gl/12L9swaz5REGQ1rm1 Caveats: - JSON serialization is ad-hoc (isn't it everywhere?) so the API is limited to naming events rather than attaching arbitrary metadata. I'd like to fix this (I think we could use a JSON-object abstraction). - The recording is very naive: events are written immediately by locking a mutex. Contention on the mutex might disturb performance. - For now it just traces instants or spans on the current thread. There are other things that make sense to show (cross-thread flows, non-thread resources such as ASTs). But we have to start somewhere. Reviewers: ioeric, ilya-biryukov Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D39086 llvm-svn: 317193
* Fix building for ARM with dwarf exception handlingMartin Storsjo2017-11-025-8/+15
| | | | | | | | | | | | | | | | The previous definition of _LIBUNWIND_HIGHEST_DWARF_REGISTER seems to be a copy of the ARM64 value (introduced in SVN r276128); since the code actually hasn't compiled properly for arm in dwarf mode before, this hasn't actually been used. Set it to the correct value based on the UNW_ARM_* enum values. The iwmmx control variables have to be made mutable, since they are touched from within getRegister (which previously wasn't const), and getRegister is used on a const Registers object in DwarfInstructions.hpp. Differential Revision: https://reviews.llvm.org/D39251 llvm-svn: 317192
* llvm-c/DebugInfo.h: Fix warning. [-Wdocumentation]NAKAMURA Takumi2017-11-021-1/+1
| | | | llvm-svn: 317191
* [test] Remove the leftover empty directory after SVN r317189. NFC.Martin Storsjo2017-11-020-0/+0
| | | | llvm-svn: 317190
* [test] Move llvm-dlltool tests into tools/llvm-dlltool. NFC.Martin Storsjo2017-11-024-0/+0
| | | | | | | | | A toplevel test directory DllTool isn't consistent with other similar tools. Differential Revision: https://reviews.llvm.org/D39513 llvm-svn: 317189
* [libclang] Add dummy libclang-headers targetShoaib Meenai2017-11-021-0/+5
| | | | | | | | | | `LLVM_DISTRIBUTION_COMPONENTS` assumes that each component has both `component` and `install-component` targets. Add a dummy no-op target for `libclang-headers` to placate this check. Differential Revision: https://reviews.llvm.org/D39524 llvm-svn: 317188
* [clangd] Remove redundant installShoaib Meenai2017-11-021-2/+0
| | | | | | | `add_clang_tool` already adds the install command, so the one here is redundant. llvm-svn: 317187
* [fuzzer] Fix nested mallocsVitaly Buka2017-11-021-3/+26
| | | | | | | | | | | | Summary: Nested mallocs are possible with internal symbolizer. Reviewers: kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39397 llvm-svn: 317186
* [X86] Remove the model checks from the 486 detection code in Host.cppCraig Topper2017-11-021-14/+1
| | | | | | This just provided a bunch of comments to read and not much else. llvm-svn: 317185
* [X86] Simplify the detection of pentium-mmx in Host.cpp.Craig Topper2017-11-021-21/+6
| | | | | | Rather than looking at model numbers just check for the mmx feature flag. While there promote INTEL_PENTIUM_MMX to a CPU type instead of a subtype so that we don't have weird type with only one subtype. llvm-svn: 317184
* Revert r317182 for https://reviews.llvm.org/D39128Jason Molenda2017-11-0212-573/+20
| | | | | | | we're still failing on android. I'll ask Larry to ask Pavel for any tips he might be able to give. llvm-svn: 317183
* Commit Lawrence D'Anna's patch to changeJason Molenda2017-11-0212-20/+573
| | | | | | | | | | | | | | | SetOututFileHandle to work with IOBase. I did make one change after checking with Larry -- I renamed SBDebugger::Flush to FlushDebuggerOutputHandles and added a short docstring to the .i file to make it a little clearer under which context programs may need to use this API. Differential Revision: https://reviews.llvm.org/D39128 <rdar://problem/34870417> llvm-svn: 317182
* Ahhhh roll back that commit, I didn't see that Lawrence had filedJason Molenda2017-11-0210-308/+21
| | | | | | | a separate phabracator with the revised change. This was his first atttempt which broke on the bots the second time too. llvm-svn: 317181
* Commit Lawrence D'Anna's patch to changeJason Molenda2017-11-0210-21/+308
| | | | | | | | | | | | | | SetOututFileHandle to work with IOBase. I did make one change after checking with Larry -- I renamed SBDebugger::Flush to FlushDebuggerOutputHandles and added a short docstring to the .i file to make it a little clearer under which context programs may need to use this API. Differential Revision: https://reviews.llvm.org/D38829 llvm-svn: 317180
* [clang-tidy] Clean up installation rulesShoaib Meenai2017-11-021-5/+6
| | | | | | | | | An installation rule for the executable with the correct component is already created by `add_clang_tool`, so the rule in this file is redundant. Correct the installation component for the Python scripts so that they also get installed by `install-clang-tidy`. llvm-svn: 317155
* Revert "Remove some of the go specific C bindings for debug info now that ↵Eric Christopher2017-11-022-0/+29
| | | | | | | | they've been migrated into the main C API." This reverts commits r317151 and 317152 llvm-svn: 317154
* [X86] Fix fast-isel-int-float-conversion testSteven Wu2017-11-021-12/+0
| | | | | | | Test is failing due to the revert in r317136. Fix the test to make all the bots happy. llvm-svn: 317153
* Fix for go bindings header to match previous commit.Eric Christopher2017-11-021-10/+0
| | | | llvm-svn: 317152
* Remove some of the go specific C bindings for debug info now that they've ↵Eric Christopher2017-11-021-19/+0
| | | | | | | | been migrated into the main C API. Fixes a go bindings breakage after r317135. llvm-svn: 317151
* [clang-rename] Use add_clang_toolShoaib Meenai2017-11-021-3/+1
| | | | | | | | | | `add_clang_tool` includes a call to `add_clang_executable`, but it also sets up the install rule, and adds an `install-*` target. The latter is required for using `LLVM_DISTRIBUTION_COMPONENTS`. Differential Revision: https://reviews.llvm.org/D39522 llvm-svn: 317150
* [clang-reorder-fields] Switch to add_clang_toolShoaib Meenai2017-11-021-3/+1
| | | | | | | | | | `add_clang_tool` invokes `add_clang_executable` internally, but it also takes care of setting up the install rule. It also adds an `install-*` build target, which is required for `LLVM_DISTRIBUTION_COMPONENTS`. Differential Revision: https://reviews.llvm.org/D39523 llvm-svn: 317149
* [cmake] Switch FATAL_ERROR to SEND_ERRORShoaib Meenai2017-11-021-2/+2
| | | | | | | | It's possible for multiple distribution components to have missing targets, and it's a lot more convenient to get all those errors in one shot rather than having to fix them individually. llvm-svn: 317148
* PR33746: Store the 'inline'ness of a static data member with the update recordRichard Smith2017-11-023-0/+34
| | | | | | | | | for instantiating its definition. We model the 'inline'ness as being instantiated with the static data member in order to track whether the declaration has become a definition yet. llvm-svn: 317147
* CodeGen: simplify EH personality selection (NFC)Saleem Abdulrasool2017-11-021-8/+9
| | | | | | | Fix a typo in the comment, reorder to ensure that the ordering matches across the ObjC/ObjC++ cases. NFCI. llvm-svn: 317146
* [Core] Comparison for unsigned >= 0 is redundant. NFCI.Davide Italiano2017-11-011-1/+1
| | | | llvm-svn: 317145
* [XML] Simplify lambda removing unused capture. NFCI.Davide Italiano2017-11-011-1/+1
| | | | llvm-svn: 317144
* [Interpreter] Remove unused variable usage. NFCI.Davide Italiano2017-11-011-2/+1
| | | | llvm-svn: 317143
* Revert "[libc++] Don't alias quick_exit if __ANDROID_API__ < 21"Dan Albert2017-11-011-5/+1
| | | | | | | | Broke the Darwin build bots. This reverts commit f56f1bba1ade4a408d403ff050d50e837bae47df. llvm-svn: 317142
* Update cl::opt<uint64_t> instances to cl::opt<unsigned long long>Mitch Phillips2017-11-012-6/+6
| | | | | | | | | | | | | | cl::opt<uint64_t> fails when parsing command line arguments. See https://bugs.llvm.org/show_bug.cgi?id=19665. Reviewers: pcc Subscribers: mgorny, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D38657 llvm-svn: 317141
* Fix missing -Wregister warning when 'register' is applied to a function ↵Richard Smith2017-11-014-2/+16
| | | | | | parameter. llvm-svn: 317140
* [yaml2obj][ELF] Add support for setting alignment in program headersJake Ehrlich2017-11-014-8/+77
| | | | | | | | | | | | | | Sometimes program headers have larger alignments than any of the sections they contain. Currently yaml2obj can't produce such files. A bug recently appeared in llvm-objcopy that failed in such a case. I'd like to be able to add tests to llvm-objcopy for such cases. This change adds an optional alignment parameter to program headers that will be used instead of calculating the alignment. Differential Revision: https://reviews.llvm.org/D39130 llvm-svn: 317139
* loop-unroll: teach remapInstruction to update dbg.value intrinsics.Adrian Prantl2017-11-012-1/+90
| | | | | | | | Fixes PR35112. https://bugs.llvm.org/show_bug.cgi?id=35112 llvm-svn: 317138
* [ASTMatchers] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2017-11-018-180/+327
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 317137
* Revert "Correct dwarf unwind information in function epilogue for X86"Petar Jovanovic2017-11-0199-1689/+32
| | | | | | | This reverts r317100 as it introduced sanitizer-x86_64-linux-autoconf buildbot failure (build #15606). llvm-svn: 317136
* [LLVM-C] Expose functions to create debug locations via DIBuilder.whitequark2017-11-017-1/+338
| | | | | | | | | | | | | | These include: * Several functions for creating an LLVMDIBuilder, * LLVMDIBuilderCreateCompileUnit, * LLVMDIBuilderCreateFile, * LLVMDIBuilderCreateDebugLocation. Patch by Harlan Haskins. Differential Revision: https://reviews.llvm.org/D32368 llvm-svn: 317135
* [X86] Use foreach in X86.td to combine some of the CPU names that are ↵Craig Topper2017-11-011-52/+40
| | | | | | obviously aliases. NFC llvm-svn: 317134
* [X86] Add CMOV feature to 'i686' processor, making it a proper alias of ↵Craig Topper2017-11-011-1/+1
| | | | | | | | pentiumpro which I believe it should be. This is consistent with current gcc behavior. llvm-svn: 317133
* [globalisel][regbank] Warn about MIR ambiguities when register bank/class ↵Daniel Sanders2017-11-013-0/+19
| | | | | | names clash. llvm-svn: 317132
* dotest: consistently call finalize_build_dictionary in debug info variantsPavel Labath2017-11-011-0/+2
| | | | | | | | | dwarf&dwo versions were doing it, but gmodules and dsym weren't. All this function does right now is pass OS=Android to make when targeting android. This enables us to run dotest without manually passing --env OS=Android. llvm-svn: 317130
* add LibCxxTuple.cpp, LibCxxQueue.cpp to xcode project file.Jason Molenda2017-11-011-0/+8
| | | | llvm-svn: 317129
* [X86][SSE] Add PACKUS support to LowerTruncateSimon Pilgrim2017-11-016-111/+101
| | | | | | | | Similar to the existing code to lower to PACKSS, we can use PACKUS if the input vector's leading zero bits extend all the way to the packed/truncated value. We have to account for pre-SSE41 targets not supporting PACKUSDW llvm-svn: 317128
* Rewrite FileOutputBuffer as two separate classes.Rui Ueyama2017-11-012-107/+129
| | | | | | | | | | | | | | | | | | | | This patch is to rewrite FileOutputBuffer as two separate classes; one for file-backed output buffer and the other for memory-backed output buffer. I think the new code is easier to follow because two different implementations are now actually separated as different classes. Unlike the previous implementation, the class that does not replace the final output file using rename(2) does not create a temporary file at all. Instead, it allocates memory using mmap(2) and use it. I think this is an improvement because it is now guaranteed that the temporary memory region doesn't trigger any I/O and there's now zero chance to leave a temporary file behind. Also, it shouldn't impose new restrictions because were using mmap IO too. Differential Revision: https://reviews.llvm.org/D39449 llvm-svn: 317127
* [libunwind] Don't use dl_iterate_phdr if __ANDROID_API__ < 21Dan Albert2017-11-011-0/+8
| | | | | | | | | | | | | | | | Summary: On ARM, dl_iterate_phdr is only implemented in the Android NDK version 21 or later: https://android.googlesource.com/platform/prebuilts/ndk/+/dev/platform/sysroot/usr/include/link.h#55 Reviewers: thakis, danalbert Reviewed By: danalbert Subscribers: dtzWill, aemerson, srhines, kristof.beyls Differential Revision: https://reviews.llvm.org/D39468 llvm-svn: 317125
OpenPOWER on IntegriCloud