- Jun 09, 2016
-
-
George Burgess IV authored
MSVC calls the copy ctor on StratifiedSets for some reason. So, undelete it. llvm-svn: 272184
-
Reid Kleckner authored
Again, the Microsoft linker does not like empty substreams. We still emit an empty string table if CodeView is enabled, but that doesn't cause problems because it always contains at least one null byte. llvm-svn: 272183
-
Sanjoy Das authored
This is NFC as far as externally visible behavior is concerned, but will keep us from spinning in the worklist traversal algorithm unnecessarily. llvm-svn: 272182
-
Sanjoy Das authored
Absence of may-unwind calls is not enough to guarantee that a UB-generating use of an add-rec poison in the loop latch will actually cause UB. We also need to guard against calls that terminate the thread or infinite loop themselves. This partially addresses PR28012. llvm-svn: 272181
-
Sanjoy Das authored
Calls to `@llvm.dbg.*` can be assumed to terminate. llvm-svn: 272180
-
Sanjoy Das authored
The worklist algorithm introduced in rL271151 didn't check to see if the direct users of the post-inc add recurrence propagates poison. This change fixes the problem and makes the code structure more obvious. Note for release managers: correctness wise, this bug wasn't a regression introduced by rL271151 -- the behavior of SCEV around post-inc add recurrences was strictly improved (in terms of correctness) in rL271151. llvm-svn: 272179
-
Quentin Colombet authored
llvm-svn: 272177
-
Quentin Colombet authored
When repairing with a copy, instead of accounting for the cost of that copy and actually inserting it, we may be able to use an alternative source for the register to repair and just use it. Make sure this is documented, so that we consider that opportunity at some point. llvm-svn: 272176
-
Derek Bruening authored
Generalizes the workingset-samples test to pass when a sample has a size of 0, which can happen on a loaded machine. llvm-svn: 272175
-
Zachary Turner authored
llvm-svn: 272174
-
George Burgess IV authored
r272064 apparently made them angry. This undoes some changes made in r272064 (defaulting move ctors) to make them happy again. llvm-svn: 272173
-
Zachary Turner authored
Reviewed By: ruiu Differential Revision: http://reviews.llvm.org/D21128 llvm-svn: 272172
-
Rui Ueyama authored
llvm-svn: 272171
-
Quentin Colombet authored
Teach AArch64RegisterBankInfo that G_OR can be mapped on either GPR or FPR for 64-bit or 32-bit values. Add test cases demonstrating how this information is used to coalesce a computation on a single register bank. llvm-svn: 272170
-
Quentin Colombet authored
The RegBankSelect pass can now rely on the target to do the remapping of the instructions. llvm-svn: 272169
-
Roman Gareev authored
by "&&", "||". llvm-svn: 272168
-
Vedant Kumar authored
Differential Revision: http://reviews.llvm.org/D21116 llvm-svn: 272167
-
Vedant Kumar authored
The new version of the header introduces the INSTR_PROF_VISIBILITY macro. See http://reviews.llvm.org/D21116 for more details. llvm-svn: 272166
-
Quentin Colombet authored
Now, the target will be able to provide its how implementation to remap an instruction. This open the way to crazier optimizations, but to beginning with, we will be able to handle something else than the default mapping. llvm-svn: 272165
-
Quentin Colombet authored
Now that we have an entity that hold the remap information the rewritting should be easier to do. No functional changes. llvm-svn: 272164
-
Quentin Colombet authored
The repairing code has no reason to change the source or destination of the registers. llvm-svn: 272163
-
Xinliang David Li authored
Differential Revision: http://reviews.llvm.org/D21119 llvm-svn: 272162
-
Quentin Colombet authored
This helper class is used to encapsulate the necessary information to remap an instruction. llvm-svn: 272161
-
Quentin Colombet authored
This G_OR is used in GlobalISel to represent bitwise OR. llvm-svn: 272160
-
David Majnemer authored
Variably modified types shouldn't be permitted in catch clauses. This fixes PR28047. llvm-svn: 272159
-
- Jun 08, 2016
-
-
Quentin Colombet authored
When the command line option is set, it overrides any thing that the target may have set. The rationale is that we get what we asked for. Options are respectively regbankselect-fast and regbankselect-greedy for fast and greedy mode. llvm-svn: 272158
-
Quentin Colombet authored
repairing. Copies are easy because we repair only when there is a mismatch. For non-copy repairing, i.e., cases that involves breaking down or gathering up the value, one of the operand may not have a register bank yet. Thus, derivate a cost from that, requires more work. llvm-svn: 272157
-
Benjamin Kramer authored
Found by clang's misc-unused-using-decls. llvm-svn: 272156
-
Alexander Kornienko authored
[clang-tidy] misc-argument-comment: don't bail out when an argument is a macro expansion (e.g. NULL). Add CHECK-FIX tests. llvm-svn: 272155
-
Oliver Stannard authored
The MSR instructions can write to the CPSR, but we did not model this fact, so we could emit them in the middle of IT blocks, changing the condition flags for later instructions in the block. The tests use two calls to llvm.write_register.i32 because it is valid to use these instructions at the end of an IT block, which if conversion does do in some cases. With two calls, the first clobbers the flags, so a branch has to be used to make the second one conditional. Differential Revision: http://reviews.llvm.org/D21139 llvm-svn: 272154
-
Yaxun Liu authored
__builtin_astype does not generate correct LLVM IR for vec3 types. This patch inserts bitcasts to/from vec4 when necessary in addition to generating vector shuffle. Sema and codegen tests are added. Differential Revision: http://reviews.llvm.org/D20133 llvm-svn: 272153
-
Haojian Wu authored
Summary: Currently, removing dot dot in header's path doesn't make include-fixer minimize path correctly in some cases, for example, specify a relative search path based on the build directory("-I../include/"). Besides, removing dot dot can break symbolic link directories. So don't removing it for now. Reviewers: ioeric, bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21132 llvm-svn: 272152 -
Eric Liu authored
llvm-svn: 272151
-
Marshall Clow authored
llvm-svn: 272150
-
Chris Dewhurst authored
According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272149
-
Chris Dewhurst authored
According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272148
-
Daniel Dunbar authored
llvm-svn: 272147
-
Rui Ueyama authored
llvm-svn: 272146
-
Saleem Abdulrasool authored
The architecture enumeration is shared across ARM and AArch64. However, the data is not. The code incorrectly would index into the array using the architecture index which was offset by the ARMv7 architecture enumeration. We do not have a marker for indicating the architectural family to which the enumeration belongs so we cannot be clever about offsetting the index (at least it is not immediately apparent to me). Instead, fall back to the tried-and-true method of slowly iterating the array (its not a large array, so the impact of this is not too high). Because of the incorrect indexing, if we were lucky, we would crash, but usually we would return an invalid StringRef. We did not have any tests for the AArch64 target parser previously;. Extend the previous tests I had added for ARM to cover AArch64 for ensuring that we return expected StringRefs. Take the opportunity to change some iterator types to references. This work is needed to support parsing `.arch name` directives in the AArch64 target asm parser. llvm-svn: 272145
-
Alexander Kornienko authored
Summary: Looks like the original code was copied from clang-format-diff.py. Update help message to make it clang-tidy specific. Reviewers: klimek, alexfh Subscribers: Eugene.Zelenko, cfe-commits Patch by Igor Sugak! Differential Revision: http://reviews.llvm.org/D21050 llvm-svn: 272144
-