162227 Commits

Author SHA1 Message Date
Craig Topper
729e2bc549 [TableGen] Don't capture returned std::vectors by const reference.
The full vector is being returned not a reference. So the reference was just a to a temporary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328275 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-23 00:02:45 +00:00
Kevin Enderby
6394fed3dc For llvm-nm and Mach-O files also use function starts info in some
cases when printing symbols.  As an improvement to:

r305733 - Change llvm-nm for Mach-O files to use dyld info in some cases when printing symbols

it could be made a bit better if it also read the function starts and faked
up nlist entries to those address not already faked up by the other
dyld info.  This would help with stripped static functions.

rdar://38761029


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328274 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 23:59:35 +00:00
Michael Zolotukhin
b9182a2b32 State that CFG is preserved in 'Falkor HW Prefetch Fix Late Phase'.
That removes some redundant recomputations from the passes pipeline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328272 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 23:44:40 +00:00
Fangrui Song
61fb9e7a94 [Support/Parallel] Use lock_guard which has less overhead than unique_lock.
Summary: unique_lock has the overhead of tracking ownership status and the owner.

Reviewers: grimar, zturner

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D44698

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328271 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 23:40:02 +00:00
Michael Zolotukhin
ac2f2dee4b Reapply "[test] Add tests for llc passes pipelines." with a fix for bots with expensive checks on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328267 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 23:02:48 +00:00
David Blaikie
d140aea231 Move SampleProfile.h into IPO along with the rest of the IPO pass headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328262 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 22:42:44 +00:00
Craig Topper
0db608b20c [X86] Correct the VROUND regular expressions in Znver1 scheduler model to account for r328254
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328260 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 22:17:11 +00:00
David Blaikie
f181976a67 Finish moving the IPSCCP pass from Scalar to IPO - moving the registration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328259 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 22:07:53 +00:00
Evgeny Stupachenko
ca64890b85 Revert r325687 (workaround for PR36032).
Summary:
Revert r325687 workaround for PR36032 since
 a fix was committed in r326154.

Reviewers: sbaranga

Differential Revision: http://reviews.llvm.org/D44768

From: Evgeny Stupachenko <evstupac@gmail.com>
                         <evgeny.v.stupachenko@intel.com>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328257 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 22:04:39 +00:00
Rafael Espindola
b31382197f Add test for demangling GNU ABI tags.
Patch by Christopher James Halse Rogers!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328256 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 22:04:32 +00:00
Craig Topper
c4f4f54c9d [X86] Rename VROUNDYPS* and VROUNDYPD* instructions to VROUNDPSY* and VROUNDPDY*. Fix itinerary mistake on all memory forms of VROUNDPD
This makes the Y position consistent with other instructions.

This should have been NFC, but while refactoring the multiclass I noticed that VROUNDPD memory forms were using the register itinerary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328254 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:55:20 +00:00
Guozhi Wei
423eb96060 [DAGCombiner] Fold (zext (and/or/xor (shl/shr (load x), cst), cst))
In our real world application, we found the following optimization is missed in DAGCombiner

(zext (and/or/xor (shl/shr (load x), cst), cst)) -> (and/or/xor (shl/shr (zextload x), (zext cst)), (zext cst))

If the user of original zext is an add, it may enable further lea optimization on x86.

This patch add a new function CombineZExtLogicopShiftLoad to do this optimization.

Differential Revision: https://reviews.llvm.org/D44402



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328252 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:47:25 +00:00
David Blaikie
7afebf7349 Fix layering between SCCP and IPO SCCP
Transforms/Scalar/SCCP.cpp implemented both the Scalar and IPO SCCP, but
this meant Transforms/Scalar including Transfroms/IPO headers, creating
a circular dependency. (IPO depends on Scalar already) - so move the IPO
SCCP shims out into IPO and the basic library implementation accessible
from Scalar/SCCP.h to be used from the IPO/SCCP.cpp implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328250 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:41:29 +00:00
Roman Tereshin
238a3389d0 [MIR] Making MIR Printing, opt -dot-cfg, and -debug printing faster
Value::printAsOperand has been scanning the entire module just to
print a single value as an operand, regardless being asked to print a
type or not at all, and regardless really needing to scan the module
to print a type.

It made some of the users of the method exceptionally slow on large
IR-modules (or large MIR-files with large IR-modules embedded).

This patch defers scanning a module looking for struct types, mostly
numbered struct types, as much as possible, speeding up those users
w/o changing any APIs at all.

See speedup examples below:

Release Build:

# 83 seconds -> 5.5 seconds
time ./bin/llc -start-before=irtranslator -stop-after=irtranslator \
  -global-isel -global-isel-abort=2 -simplify-mir sqlite3.O0.ll -o \
  sqlite3.O0.ll.regbankselected.mir

# 133 seconds -> 6.2 seconds
time ./bin/opt sqlite3.O0.ll -dot-cfg -disable-output

Release + Asserts Build:

# 95 seconds -> 5.5 seconds
time ./bin/llc -start-before=irtranslator -stop-after=irtranslator \
  -global-isel -global-isel-abort=2 -simplify-mir sqlite3.O0.ll -o \
  sqlite3.O0.ll.regbankselected.mir

# 146 seconds -> 6.2 seconds
time ./bin/opt sqlite3.O0.ll -dot-cfg -disable-output

# 1096 seconds -> 553 seconds
time ./bin/llc -debug-only=isel -fast-isel=false -stop-after=isel \
  sqlite3.O0.ll -o /dev/null 2> err

where sqlite3.O0.ll is non-optimized IR produced from
sqlite-amalgamation (http://sqlite.org/download.html), which is entire
SQLite3 implementation in a single C-file.

Benchmarked on 4-cores / 8 threads PCI-E SSD iMac running macOS

Reviewers: dexonsmith, bkramer, void, chandlerc, aditya_nandakumar, dsanders, qcolombet, 

Reviewed By: bogner

Subscribers: thegameg, llvm-commits

Differential Revision: https://reviews.llvm.org/D44132


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328246 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:29:07 +00:00
Mircea Trofin
21d9c7a33c Revert "Revert "[InstrProf] Support for external functions in text format.""
Summary:
This reverts commit 364eb09576a7667bc6d3ff80c52a83014ccac976 and separates out
the portion that was fixing binary reader error propagation - turns out, there
are production cases where that causes a regression.

Will re-introduce the error propagation fix separately.

The fix to the text reader error propagation is still "in".

Reviewers: bkramer

Reviewed By: bkramer

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D44807

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328244 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:26:52 +00:00
Craig Topper
d217284830 [X86][SkylakeClient] Fix a bunch of instructions that were incorrectly assigned Port015 instead of Port01.
The VEC ADD and VEC MUL units aren't present on port 5 on SkylakeClient.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328241 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:10:07 +00:00
Jessica Paquette
d8ad3cf8c9 [MachineOutliner][NFC] Refactoring + comments in runOnModule
Split up some of the if/else branches in runOnModule. Elaborate on some
comments. Replace a call to getOrCreateMachineFunction with getMachineFunction.

This makes it clearer what's happening in runOnModule, and ensures that the
outliner doesn't create any MachineFunctions which will never be used by the
outliner (or anything else, really).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328240 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 21:07:09 +00:00
Jun Bum Lim
af56683019 [CodeGen] Add a new pass for PostRA sink
Summary:
This pass sinks COPY instructions into a successor block, if the COPY is not
used in the current block and the COPY is live-in to a single successor
(i.e., doesn't require the COPY to be duplicated).  This avoids executing the
the copy on paths where their results aren't needed.  This also exposes
additional opportunites for dead copy elimination and shrink wrapping.

These copies were either not handled by or are inserted after the MachineSink
pass. As an example of the former case, the MachineSink pass cannot sink
COPY instructions with allocatable source registers; for AArch64 these type
of copy instructions are frequently used to move function parameters (PhyReg)
into virtual registers in the entry block..

For the machine IR below, this pass will sink %w19 in the entry into its
successor (%bb.1) because %w19 is only live-in in %bb.1.

```
   %bb.0:
      %wzr = SUBSWri %w1, 1
      %w19 = COPY %w0
      Bcc 11, %bb.2
    %bb.1:
      Live Ins: %w19
      BL @fun
      %w0 = ADDWrr %w0, %w19
      RET %w0
    %bb.2:
      %w0 = COPY %wzr
      RET %w0
```
As we sink %w19 (CSR in AArch64) into %bb.1, the shrink-wrapping pass will be
able to see %bb.0 as a candidate.

With this change I observed 12% more shrink-wrapping candidate and 13% more dead copies deleted  in spec2000/2006/2017 on AArch64.

Reviewers: qcolombet, MatzeB, thegameg, mcrosier, gberry, hfinkel, john.brawn, twoh, RKSimon, sebpop, kparzysz

Reviewed By: sebpop

Subscribers: evandro, sebpop, sfertile, aemerson, mgorny, javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D41463

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328237 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 20:06:47 +00:00
Matt Morehouse
590f2e2f2e Document optforfuzzing attribute created in r328214.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328236 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 19:50:10 +00:00
Paul Robinson
adec4ee33d [DWARF] Replace assert with diagnostic. PR36868.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328235 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 19:37:56 +00:00
David Blaikie
30a7db5e5f Move the initialization of the Meta Renamer pass over to IPO along with the rest of it that was moved in r328209
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328234 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 19:36:54 +00:00
Nirav Dave
bd3649ff6d [DAG, X86] Fix ISel-time node insertion ids
As in SystemZ backend, correctly propagate node ids when inserting new
unselected nodes into the DAG during instruction Seleciton for X86
target.

Fixes PR36865.

Reviewers: jyknight, craig.topper

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D44797

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328233 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 19:32:07 +00:00
Craig Topper
a95f2c4f47 [X86] Correct the scheduling data for some of the 32 and 64 bit multiplies to as best as I understand how they are implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328231 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 19:22:51 +00:00
Daniel Neilson
8c2147125a [InstCombineCalls] Update deprecated API usage (NFC)
Summary:
Just updating a call to MemSetInst::getAlignment() to MemSetInst::getDestAlignment(). The
former has been deprecated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328227 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 18:36:15 +00:00
Simon Pilgrim
2d0d47ceb8 [X86][Btver2] Conversion, MaskedLoad/MaskedStore and NTStores all are scheduled through the JFPU1 pipe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328226 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 18:29:16 +00:00
Simon Pilgrim
304948c9f7 [X86][Btver2] FCMP (inc FMAX/FMIN) instructions use the JFPA functional pipe
The ymm instructions are double pumped as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328222 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:43:12 +00:00
Zachary Turner
5a43e12ccb [Codeview/PDB] Rename some methods for clarity.
NFC, this just renames some methods to better express what they
do, and also adds a few helper methods to add some symmetry to the
API in a few places (for example there was a getStringFromId but not
a getIdFromString method in the string table).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328221 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:37:28 +00:00
Aditya Nandakumar
258782adb2 [GISel]: Fix incorrect IRTranslation while translating null pointer types
https://reviews.llvm.org/D44762

Currently IRTranslator produces
%vreg17<def>(p0) = G_CONSTANT 0;

instead we should build
%vreg16(s64) = G_CONSTANT 0
%vreg17(p0) = G_INTTOPTR %vreg16

reviewed by @aemerson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328218 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:31:38 +00:00
Simon Pilgrim
1ab12510bb [X86][Btver2] FMUL ymm instructions are double pumped on the JFPM functional pipe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328217 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:25:38 +00:00
Craig Topper
8804d5ef4a [ARM] Enable the full InstRW overlap check for ARMScheduleR52.td
This fixes a few issues with the R52 instregexs to enable the full overlap checking

Differential Revision: https://reviews.llvm.org/D44767

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328216 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:17:47 +00:00
Matt Morehouse
7d085b607d [SimplifyCFG] Create attribute for fuzzing-specific optimizations.
Summary:
When building with libFuzzer, converting control flow to selects or
obscuring the original operands of CMPs reduces the effectiveness of
libFuzzer's heuristics.

This patch provides an attribute to disable or modify certain optimizations
for optimal fuzzing signal.

Provides a less aggressive alternative to https://reviews.llvm.org/D44057.

Reviewers: vitalybuka, davide, arsenm, hfinkel

Reviewed By: vitalybuka

Subscribers: junbuml, mehdi_amini, wdng, javed.absar, hiraditya, llvm-commits, kcc

Differential Revision: https://reviews.llvm.org/D44232

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328214 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 17:07:51 +00:00
Alexey Bataev
7fdf2c2814 [DWARF] Add EmitDwarfOffset function, NFC.
Added EmitDwarfOffset function after discussion with Eric Christofer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328212 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 16:43:21 +00:00
Saleem Abdulrasool
d6947e36d8 vim: rename singlethread to syncscope
SVN r307722 renamed the keyword from `singlethread` to `syncscope`.
Update the syntax file accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328211 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 16:39:54 +00:00
Anna Thomas
ded959f9f4 [LoopPredication] Add profitability check based on BPI
Summary:
LoopPredication is not profitable when the loop is known to always exit
through some block other than the latch block.
A coarse grained latch check can cause loop predication to predicate the
loop, and unconditionally deoptimize.

However, without predicating the loop, the guard may never fail within the
loop during the dynamic execution because the non-latch loop termination
condition exits the loop before the latch condition causes the loop to
exit.
We teach LP about this using BranchProfileInfo pass.

Reviewers: apilipenko, skatkov, mkazantsev, reames

Reviewed by: skatkov

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D44667

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328210 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 16:03:59 +00:00
David Blaikie
769052bf89 Move MetaRenamer from Transforms/UTils to Transforms/IPO since it implements part of IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328209 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 15:57:47 +00:00
Paul Robinson
d3997f9e4e [DWARF] Fix mixing assembler -g with DWARF .file directives.
We were effectively overriding an explicit '.file' directive with info
for the assembler source.  That shouldn't happen.

Fixes PR36636, really, even for .s files emitted by Clang.

Differential Revision: https://reviews.llvm.org/D44265

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328208 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 15:48:01 +00:00
Benjamin Kramer
364eb09576 Revert "[InstrProf] Support for external functions in text format."
This reverts commit r328132. Breaks FDO selfhost. I'm seeing
error: /tmp/profraw: Invalid instrumentation profile data (bad magic)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328207 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 15:29:55 +00:00
Florian Hahn
5185879973 [CallSiteSplitting] Preserve DominatorTreeAnalysis.
The dominator tree analysis can be preserved easily.
Some other kinds of analysis can probably be preserved
too.

Reviewers: junbuml, dberlin

Reviewed By: dberlin

Differential Revision: https://reviews.llvm.org/D43173


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328206 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 15:23:33 +00:00
Sanjay Patel
f973ed2782 [MC] fix documentation comments; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328205 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 15:23:21 +00:00
Simon Pilgrim
047303ecc6 [X86][SSE42] Use the default PCMPEST/PCMPIST scheduler classes directly. NFCI.
Models were completely overriding all SSE42 strins instructions when the default classes could be used for exactly the same coverage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328203 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 14:56:18 +00:00
Pavel Labath
3d2595ce36 DWARFVerifier: verify debug_names abbreviation table
Summary:
This commit adds checks of the abbreviation table in a DWARF v5 Name
Index. The most interesting/useful check is the one which checks that
each index attributes is encoded using the correct form class, but it
also checks for the more obvious errors like unknown
forms/tags/attributes and duplicated attributes.

Reviewers: JDevlieghere, aprantl, dblaikie

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D44736

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328202 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 14:50:44 +00:00
Andrea Di Biagio
d7398385c0 [llvm-mca] Minor refactoring. NFCI
Also, removed a couple of unused methods from class Instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328198 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 14:14:49 +00:00
Sanjay Patel
92198f3014 [InstCombine] add folds for xor-of-icmp signbit tests (PR36682)
This is a retry of r328119 which was reverted at r328145 because
it could crash by trying to combine icmps with different operand
types. This version has a check for that and additional tests.

Original commit message:

This is part of solving:
https://bugs.llvm.org/show_bug.cgi?id=36682

There's also a leftover improvement from the long-ago-closed:
https://bugs.llvm.org/show_bug.cgi?id=5438

https://rise4fun.com/Alive/dC1


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328197 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 14:08:16 +00:00
Simon Pilgrim
c6005c0d9a [X86][CLMUL] Use the default CLMUL scheduler classes directly. NFCI.
Models were completely overriding all CLMUL instructions when the WriteCLMUL default classes could be used for exactly the same coverage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328194 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 13:37:30 +00:00
Simon Pilgrim
20bfacfd59 [X86][CLMUL] Fix/add missing itinerary tags to (V)PCLMULQDQ instructions
PCLMULQDQrm was using the rr itinerary.

Difference in itineraries between PCLMULQDQ/VPCLMULQDQ variants was causing an unnecessary duplication of scheduler class entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328193 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 13:36:06 +00:00
Simon Pilgrim
4a0d8d3b03 [X86] Use the default AES scheduler classes directly. NFCI.
Models were completely overriding all AES instructions when the WriteAES default classes could be used for exactly the same coverage.

Removes 6 unnecessary scheduler classes from every model.

Note: Still looking for a way for tblgen to warn when this is happening - often the override is more complete than the default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328192 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 13:18:08 +00:00
Jonas Devlieghere
213a51db0a Add vendor specific calling convention to DWARF
This patch adds LLVM's and GCC's calling conventions so they can be
emitted in the DWARF debug info.

Patch by: Adrien Guinet

Differential revision: https://reviews.llvm.org/D42350

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328191 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 12:24:07 +00:00
Andrea Di Biagio
efac2a8046 [llvm-mca] Simplify (and better standardize) the Instruction interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328190 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 11:39:34 +00:00
Florian Hahn
3f00e08460 [CloneFunction] Preserve DT in DuplicateInstructionsInSplitBetween.
DuplicateInstructionsInSplitBetween can preserve the DT by passing
through DT to SplitEdge.

Reviewers: sanjoy, junbuml, anna, kuhar

Reviewed By: kuhar

Differential Revision: https://reviews.llvm.org/D44629


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328189 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 11:38:53 +00:00
Jonas Devlieghere
7abb456200 Revert "[test] Add tests for llc passes pipelines."
This reverts r328159 because the two AArch64 tests fail on GreenDragon:
http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-expensive/11030/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328188 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-22 10:34:06 +00:00