- Jun 09, 2016
-
-
Chris Bieneman authored
This just removes some redundant checks and updates warning text. llvm-svn: 272218
-
Justin Bogner authored
cmake 3.4 introduced LIST_DIRECTORIES to glob recurse, which can be used to simplify this code greatly. llvm-svn: 272217
-
Chris Bieneman authored
Now that we are on CMake 3.4.3 we no longer need a version check around this. llvm-svn: 272211
-
- Jun 08, 2016
-
-
Quentin Colombet authored
This improves the debuggability of the pass. llvm-svn: 272210
-
Quentin Colombet authored
For complex rewrittings, which do not occur currently, the related machine instruction may have been deleted in the process. Therefore, do not try to print it after the mapping is applied. llvm-svn: 272209
-
Quentin Colombet authored
[RegisterBankInfo] Avoid code duplication in OperandsMapper for the computation of the end of range. Refactor the code so that we do not compute in two different places the end iterator for the range of new virtual registers for a given operand. Although this refactoring was intended as NFC, this is not the case because it actually fixes a bug where we were returning a range off by 1 (too long). Right now, this could not result in an actual bug because we were accessing this range via the BreakDown size of the related operand. llvm-svn: 272208
-
Quentin Colombet authored
Improve debuggability of the OperandsMapper helper class. llvm-svn: 272207
-
Michael Zolotukhin authored
Summary: This fixes PR27617. Bug description: The SLPVectorizer asserts on encountering GEPs with different index types, such as i8 and i64. The patch includes a simple relaxation of the assert to allow constants being of different types, along with a regression test that will provoke the unrelaxed assert. Reviewers: nadav, mzolotukhin Subscribers: JesperAntonsson, llvm-commits, mzolotukhin Differential Revision: http://reviews.llvm.org/D20685 Patch by Jesper Antonsson! llvm-svn: 272206
-
Davide Italiano authored
llvm-svn: 272204
-
http://reviews.llvm.org/D12778Dehao Chen authored
Revive http://reviews.llvm.org/D12778 to handle forward-hot-prob and backward-hot-prob consistently. Summary: Consider the following diamond CFG: A / \ B C \/ D Suppose A->B and A->C have probabilities 81% and 19%. In block-placement, A->B is called a hot edge and the final placement should be ABDC. However, the current implementation outputs ABCD. This is because when choosing the next block of B, it checks if Freq(C->D) > Freq(B->D) * 20%, which is true (if Freq(A) = 100, then Freq(B->D) = 81, Freq(C->D) = 19, and 19 > 81*20%=16.2). Actually, we should use 25% instead of 20% as the probability here, so that we have 19 < 81*25%=20.25, and the desired ABDC layout will be generated. Reviewers: djasper, davidxl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20989 llvm-svn: 272203
-
Chris Bieneman authored
This was called out on the list a long time ago and just got pointed out to me again. Need to fix it before I forget. llvm-svn: 272201
-
Chris Bieneman authored
This patch adds a new option LLVM_TOOLS_INSTALL_DIR which allows customizing the location executables and symlinks get installed to. This adds the functionality provided by autoconf's --bindir flag. This patch is based on patches from and collaboration with Tony Kelman, and replaces http://reviews.llvm.org/D20934. llvm-svn: 272200
-
Sanjay Patel authored
llvm-svn: 272199
-
Reid Kleckner authored
Summary: Now DISubroutineType has a 'cc' field which should be a DW_CC_ enum. If it is present and non-zero, the backend will emit it as a DW_AT_calling_convention attribute. On the CodeView side, we translate it to the appropriate enum for the LF_PROCEDURE record. I added a new LLVM vendor specific enum to the list of DWARF calling conventions. DWARF does not appear to attempt to standardize these, so I assume it's OK to do this until we coordinate with GCC on how to emit vectorcall convention functions. Reviewers: dexonsmith, majnemer, aaboud, amccarth Subscribers: mehdi_amini, llvm-commits Differential Revision: http://reviews.llvm.org/D21114 llvm-svn: 272197
-
Sanjay Patel authored
llvm-svn: 272196
-
Evgeny Stupachenko authored
with user specified count has been applied. Summary: Previously SetLoopAlreadyUnrolled() set the disable pragma only if there was some loop metadata. Now it set the pragma in all cases. This helps to prevent multiple unroll when -unroll-count=N is given. Reviewers: mzolotukhin Differential Revision: http://reviews.llvm.org/D20765 From: Evgeny Stupachenko <evstupac@gmail.com> llvm-svn: 272195
-
Xinliang David Li authored
This is the preparation patch to port the analysis to new PM Differential Revision: http://reviews.llvm.org/D20560 llvm-svn: 272194
-
Sanjay Patel authored
llvm-svn: 272193
-
Tim Shen authored
Reviewers: iteratee Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21087 llvm-svn: 272192
-
Sanjay Patel authored
llvm-svn: 272191
-
Benjamin Kramer authored
Avoids unnecessary copies. All changes audited & pass tests with asan. No functional change intended. llvm-svn: 272190
-
Adrian McCarthy authored
Differential Revision: http://reviews.llvm.org/D21107 llvm-svn: 272187
-
Benjamin Kramer authored
It provides nothing over the default one but makes the class not trivially copyable. No functionality change intended. llvm-svn: 272186
-
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
-
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
-
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
-