| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
This fixes GVNHoist's portion of PR28670.
llvm-svn: 276658
|
| |
|
|
| |
llvm-svn: 276657
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some targets, notably AArch64 for ILP32, have different relocation encodings
based upon the ABI. This is an enabling change, so a future patch can use the
ABIName from MCTargetOptions to chose which relocations to use. Tested using
check-llvm.
The corresponding change to clang is in: http://reviews.llvm.org/D16538
Patch by: Joel Jones
Differential Revision: https://reviews.llvm.org/D16213
llvm-svn: 276654
|
| |
|
|
|
|
|
|
|
|
|
|
| |
...but most importantly, it cannot be used well with 'auto', because
the inferred type is StringSwitch rather than the result type. This
is a problem because StringSwitch stores addresses of temporary
values rather than copying or moving the value into its own storage.
Changing this uncovered the bug in PassBuilder, also in this patch.
Clang doesn't seem to have any occurrences of the issue.
llvm-svn: 276652
|
| |
|
|
|
|
|
|
| |
It failed with assertion before this patch.
Differential Revision: https://reviews.llvm.org/D22735
llvm-svn: 276648
|
| |
|
|
|
|
| |
test/Analysis/Dominators/2007-01-14-BreakCritEdges.ll.
llvm-svn: 276644
|
| |
|
|
| |
llvm-svn: 276638
|
| |
|
|
|
|
|
|
| |
Added thumb targets and dataflow checks to the longMAC test.
Differential Revision: https://reviews.llvm.org/D22684
llvm-svn: 276629
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid MipsAnalyzeImmediate usage if the constant fits in an 32-bit
integer. This allows us to generate the same instructions for the
materialization of the same constants regardless the width of their
type.
Patch by: Vasileios Kalintiris
Contributions by: Simon Dardis
Reviewers: Daniel Sanders
Differential Review: https://reviews.llvm.org/D21689
llvm-svn: 276628
|
| |
|
|
|
|
|
|
|
| |
Follow up to r276624. Changes bits 22-20 to be parameters to
instruction class.
Differential Revision: https://reviews.llvm.org/D22562
llvm-svn: 276626
|
| |
|
|
|
|
|
|
| |
Use ISelDAGToDAG to recognise the SMMLS instruction pattern.
Differential Revision: https://reviews.llvm.org/D22562
llvm-svn: 276624
|
| |
|
|
|
|
| |
instructions.
llvm-svn: 276615
|
| |
|
|
|
|
| |
the first argument of an FMADD/FMSUB/FNMADD/FNMSUB/FMADDSUB/FMSUBADD node. Also add patterns to support all combinations of the broadcast input and the preserved input for masked versions.
llvm-svn: 276614
|
| |
|
|
|
|
| |
to really be 213, 231, and 132.
llvm-svn: 276613
|
| |
|
|
|
|
|
|
|
|
| |
Modify the variable names and code style to be that of modern LLVM.
Patch by River Riddle!
Differential Revision: https://reviews.llvm.org/D22743
llvm-svn: 276610
|
| |
|
|
|
|
|
|
|
|
|
| |
The public InlineFunction utility assumes that the passed in
InlineFunctionInfo has a valid AssumptionCacheTracker.
Patch by River Riddle!
Differential Revision: https://reviews.llvm.org/D22706
llvm-svn: 276609
|
| |
|
|
|
|
| |
Truncates can completely cancel out a zext or sext instruction.
llvm-svn: 276604
|
| |
|
|
|
|
|
| |
We can combine metadata from multiple instructions intelligently for
certain metadata nodes.
llvm-svn: 276602
|
| |
|
|
|
|
|
|
|
| |
If we two loads of two different alignments, we must use the minimum of
the two alignments when hoisting. Same deal for stores.
For allocas, use the maximum of the two allocas.
llvm-svn: 276601
|
| |
|
|
|
|
| |
Use a range-based for loop, no functional change is intended.
llvm-svn: 276600
|
| |
|
|
| |
llvm-svn: 276597
|
| |
|
|
| |
llvm-svn: 276596
|
| |
|
|
|
|
|
|
|
|
| |
Process::GetEnv does the right thing across our platforms.
CommandLine.cpp had, more or less, the same logic. Let's remove the
duplication.
No functional change is intended.
llvm-svn: 276572
|
| |
|
|
| |
llvm-svn: 276571
|
| |
|
|
| |
llvm-svn: 276570
|
| |
|
|
|
|
| |
As with all AMD CPUs, excavator has poor SHLD/SHRD performance. Also added bdver3 to the test as it was missing.
llvm-svn: 276569
|
| |
|
|
| |
llvm-svn: 276568
|
| |
|
|
| |
llvm-svn: 276567
|
| |
|
|
| |
llvm-svn: 276566
|
| |
|
|
| |
llvm-svn: 276565
|
| |
|
|
|
|
| |
demonstrate PR23941
llvm-svn: 276563
|
| |
|
|
|
|
|
|
| |
encoded versions.
This places the 132/213/231 form number in front of the SS/SD/PS/PD. Move the Y for 256-bit versions to be after the PS/PD. Change the AVX512 scalar forms to include a Z in the their name. This new format should be consistent with the general naming of instructions.
llvm-svn: 276559
|
| |
|
|
|
|
| |
the operand types exactly match the normal VPSRAVW/D/Q instructions.
llvm-svn: 276555
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowed loop vectorization with secondary FP IVs. Like this:
float *A;
float x = init;
for (int i=0; i < N; ++i) {
A[i] = x;
x -= fp_inc;
}
The auto-vectorization is possible when the induction binary operator is "fast" or the function has "unsafe" attribute.
Differential Revision: https://reviews.llvm.org/D21330
llvm-svn: 276554
|
| |
|
|
|
|
|
|
| |
checkClobberSanity will now be run for all results of `ClobberWalk`,
instead of just the crazy phi-optimized ones. This can help us catch
cases where our cache is being wonky.
llvm-svn: 276553
|
| |
|
|
|
|
|
| |
liveOnEntry is always a MemoryDef; asserting that a MemoryPhi isn't
liveOnEntry, while correct, isn't very helpful. :)
llvm-svn: 276542
|
| |
|
|
| |
llvm-svn: 276535
|
| |
|
|
|
|
| |
Added more vXi16 and vXi8 tests
llvm-svn: 276534
|
| |
|
|
|
|
|
|
| |
that Pygment does not handle "token" or "none" yet, and this caused the documentation bot to go red.
Patch by Gor Nishanov.
llvm-svn: 276532
|
| |
|
|
|
|
| |
build bot (http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/11984/steps/docs-llvm-html/logs/stdio).
llvm-svn: 276531
|
| |
|
|
| |
llvm-svn: 276530
|
| |
|
|
|
|
|
| |
As agreed with Daniel Sanders, I'm taking over as code owner
for the MIPS backend.
llvm-svn: 276529
|
| |
|
|
| |
llvm-svn: 276528
|
| |
|
|
|
|
| |
a broadcast
llvm-svn: 276527
|
| |
|
|
|
|
| |
Demonstrate difference in codegen discussed on PR14760
llvm-svn: 276526
|
| |
|
|
| |
llvm-svn: 276523
|
| |
|
|
|
|
|
| |
should fix the build with GCC 4.9 at least. Not sure if this is the
right name or fix, but I've followed up on the original commit.
llvm-svn: 276522
|
| |
|
|
| |
llvm-svn: 276521
|
| |
|
|
|
|
| |
just to get the IsIntrisic flag, instead get it during the first call and pass it along. NFC
llvm-svn: 276520
|
| |
|
|
| |
llvm-svn: 276519
|