- Nov 02, 2017
-
-
Clement Courbet authored
Summary: This is mostly a noop (most of the test diffs are renamed blocks). There are a few temporary register renames (eax<->ecx) and a few blocks are shuffled around. See the discussion in PR33325 for more details. Reviewers: spatel Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D39456 llvm-svn: 317211
-
Roger Ferrer Ibanez authored
Differential Revision: https://reviews.llvm.org/D38362 llvm-svn: 317210
-
Marshall Clow authored
llvm-svn: 317209
-
Alexey Bataev authored
If the thread id is requested in windows mode within funclets, we may generate incorrect function call that could lead to broken codegen. llvm-svn: 317208
-
Jonas Hahnfeld authored
We can generate constant sized arrays whenever the array section has constant length, even if the base expression itself is a VLA. Differential Revision: https://reviews.llvm.org/D39504 llvm-svn: 317207
-
Ayman Musa authored
When splitting a large load to smaller legally-typed loads, the last load should be padded to reach the size of the previous one so a CONCAT_VECTORS node could reunite them again. The code currently pads the last load to reach the size of the first load (instead of the previous). Differential Revision: https://reviews.llvm.org/D38495 Change-Id: Ib60b55ed26ce901fabf68108daf52683fbd5013f llvm-svn: 317206
-
Eric Liu authored
CLion's Sax parser threw this error: Failed to parse clang-format XML replacements. Input: <?xml version='1.0'?> <replacements xml:space='preserve' incomplete_format='true' line=89> [...] [org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 66; Open quote is expected for attribute "line" associated with an element type "replacements".] Patch by Justine Tunney (jart@google.com)! llvm-svn: 317205
-
Simon Dardis authored
MSA stores and loads to the stack are more likely to require an emergency GPR spill slot due to the smaller offsets available with those instructions. Handle this by overestimating the size of the stack by determining the largest offset presuming that all callee save registers are spilled and accounting of incoming arguments when determining whether an emergency spill slot is required. Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D39056 llvm-svn: 317204
-
Sam McCall authored
llvm-svn: 317203
-
Michael Zuckerman authored
Change-Id: Iefcb0ec6b6aa1b530ce5358081f02e6e522a8e50 llvm-svn: 317202
-
Yichao Yu authored
Allow inaccessiblememonly and inaccessiblemem_or_argmemonly to be overwriten on call site with operand bundle Summary: Similar to argmemonly, readonly and readnone. Fix PR35128 Reviewers: andrew.w.kaylor, chandlerc, hfinkel Reviewed By: hfinkel Subscribers: hfinkel, llvm-commits Differential Revision: https://reviews.llvm.org/D39434 llvm-svn: 317201
-
Jan Korous authored
llvm-svn: 317200
-
Francis Visoiu Mistrih authored
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
-
Bjorn Pettersson authored
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
-
Sam Parker authored
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
-
Andrew V. Tischenko authored
The patch updates sched numbers for YMM AVX instrs such as VMOVx, VORx, VXOR, VPERMILx, VBROADCASTx, etc. PR32857 should be closed. Differential Revision: https://reviews.llvm.org/D39227 llvm-svn: 317196
-
Sam McCall authored
This fixes duplicate symbol problems. llvm-svn: 317195
-
Sam McCall authored
llvm-svn: 317194
-
Sam McCall authored
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
-
Martin Storsjö authored
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
-
NAKAMURA Takumi authored
llvm-svn: 317191
-
Martin Storsjö authored
llvm-svn: 317190
-
Martin Storsjö authored
A toplevel test directory DllTool isn't consistent with other similar tools. Differential Revision: https://reviews.llvm.org/D39513 llvm-svn: 317189
-
Shoaib Meenai authored
`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
-
Shoaib Meenai authored
`add_clang_tool` already adds the install command, so the one here is redundant. llvm-svn: 317187
-
Vitaly Buka authored
Summary: Nested mallocs are possible with internal symbolizer. Reviewers: kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39397 llvm-svn: 317186
-
Craig Topper authored
This just provided a bunch of comments to read and not much else. llvm-svn: 317185
-
Craig Topper authored
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
-
https://reviews.llvm.org/D39128Jason Molenda authored
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
-
Jason Molenda authored
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
-
Jason Molenda authored
a separate phabracator with the revised change. This was his first atttempt which broke on the bots the second time too. llvm-svn: 317181
-
Jason Molenda authored
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
-
Shoaib Meenai authored
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
-
Eric Christopher authored
Revert "Remove some of the go specific C bindings for debug info now that they've been migrated into the main C API." This reverts commits r317151 and 317152 llvm-svn: 317154
-
Steven Wu authored
Test is failing due to the revert in r317136. Fix the test to make all the bots happy. llvm-svn: 317153
-
Eric Christopher authored
llvm-svn: 317152
-
Eric Christopher authored
Remove some of the go specific C bindings for debug info now that they've been migrated into the main C API. Fixes a go bindings breakage after r317135. llvm-svn: 317151
-
Shoaib Meenai authored
`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
-
Shoaib Meenai authored
`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
-
Shoaib Meenai authored
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
-