Craig Topper
5141d97d3e
Calculate vector element size more directly for VINSERTF128/VEXTRACTF128 immediate handling. Also use MVT since this only called on legal types during pattern matching.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172797 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 08:41:28 +00:00
Craig Topper
e6d8fa7d0b
Minor formatting fix. No functional change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172795 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 07:27:20 +00:00
Dmitri Gribenko
41169f2a0e
Remove support for Tcl test format since nobody uses it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172794 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 06:57:01 +00:00
Craig Topper
0a38861364
Spelling fix: extened->extended. Trailing whitespace in same function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172793 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 06:50:59 +00:00
Craig Topper
5a529e4f86
Make more use of is128BitVector/is256BitVector in place of getSizeInBits() == 128/256.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172792 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 06:44:29 +00:00
Craig Topper
081c29b256
Check for less than 0 in shuffle mask instead of -1. It's more consistent with other code related to shuffles and easier to implement in compiled code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172788 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 05:30:07 +00:00
Craig Topper
37d093f0b0
Remove trailing whitespace. Remove new lines between closing brace and 'else'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172784 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 05:09:16 +00:00
Michael Gottesman
268e0ffa78
Fixed 80+ violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172782 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 03:08:39 +00:00
Daniel Dunbar
a94c339423
[MC/Mach-O] Add support for linker options in Mach-O files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172779 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 01:26:07 +00:00
Daniel Dunbar
cddd236e8a
[MC/Mach-O] Add AsmParser support for .linker_option directive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172778 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 01:25:48 +00:00
Daniel Dunbar
bfdcc70d34
[MC] Expose ParseEscapedString to target AsmParser implementations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172777 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 01:25:33 +00:00
Daniel Dunbar
9b6a44712a
[MC] Fix 80-col violas.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172776 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 01:25:25 +00:00
Chad Rosier
3da67ca973
[ms-inline asm] Make the error message more generic now that we support the
...
'SIZE' and 'LENGTH' operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172773 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18 00:50:59 +00:00
Daniel Dunbar
1381b9b68c
[Linker] Drop some now-dead component dependencies.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172759 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 22:05:18 +00:00
Bill Wendling
167ede898a
Reverting r171325 & r172363. This was causing a mis-compile on the self-hosted LTO build bots.
...
Okay, here's how to reproduce the problem:
1) Build a Release (or Release+Asserts) version of clang in the normal way.
2) Using the clang & clang++ binaries from (1), build a Release (or
Release+Asserts) version of the same sources, but this time enable LTO ---
specify the `-flto' flag on the command line.
3) Run the ARC migrator tests:
$ arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c++ ./src/tools/clang/test/ARCMT/cxx-rewrite.mm
You'll see that the output isn't correct (the whitespace is off).
The mis-compile is in the function `RewriteBuffer::RemoveText' in the
clang/lib/Rewrite/Core/Rewriter.cpp file. When that function and RewriteRope.cpp
are compiled with LTO and the `arcmt-test' executable is regenerated, you'll see
the error. When those files are not LTO'ed, then the output of the `arcmt-test'
is fine.
It is *really* hard to get a testcase out of this. I'll file a PR with what I
have currently.
--- Reverse-merging r172363 into '.':
U include/llvm/Analysis/MemoryBuiltins.h
U lib/Analysis/MemoryBuiltins.cpp
--- Reverse-merging r171325 into '.':
U test/Transforms/InstCombine/objsize.ll
G include/llvm/Analysis/MemoryBuiltins.h
G lib/Analysis/MemoryBuiltins.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172756 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 21:28:46 +00:00
Aaron Ballman
cb4830cc99
Reverting back to the fallback instead of using the 64-bit popcnt instruction as it doesn't exist on all x64 CPU architectures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172751 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 20:04:28 +00:00
Daniel Dunbar
634bd8512a
[Linker] Drop support for IR-level extended linking support (archives, etc.).
...
- This code is dead, and the "right" way to get this support is to use the
platform-specific linker-integrated LTO mechanisms, or the forthcoming LLVM
linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172749 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:52:25 +00:00
Bill Schmidt
d69a43a88d
Restore reverted test case, this time with REQUIRES: asserts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172747 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:46:51 +00:00
Bill Schmidt
c087dcfa63
Remove bad test case
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172746 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:39:36 +00:00
Bill Schmidt
8f4ee4b2a2
This patch fixes PR13626 by providing i128 support in the return
...
calling convention. 128-bit integers are now properly returned
in GPR3 and GPR4 on PowerPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172745 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:34:57 +00:00
Chad Rosier
505bca3617
[ms-inline asm] Add support for the 'SIZE' and 'LENGTH' operators.
...
Part of rdar://12576868
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172743 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 19:21:48 +00:00
Daniel Dunbar
3389dbcd24
[docs] Get rid of some UTF8 characters (non-breaking space maybe).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172741 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:57:32 +00:00
Daniel Dunbar
f6893dd44d
[utils] Update find-rev utility to take a branch argument (name of the git-svn
...
branch).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172740 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:57:21 +00:00
Jyotsna Verma
a454ffd02a
Add indexed load/store instructions for offset validation check.
...
This patch fixes bug 14902 - http://llvm.org/bugs/show_bug.cgi?id=14902
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172737 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:42:37 +00:00
Michael Gottesman
222f02f7eb
Added missing const from my last commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172736 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:36:17 +00:00
Michael Gottesman
88ceb186f1
[ObjCARC] Implemented operator<< for InstructionClass and changed a ``Visited'' Debug message to use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172735 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:32:34 +00:00
Aaron Ballman
67828056dd
Reverting back to the fallback instead of using popcnt; this instruction doesn't exist on all CPU architectures. Fixes PR14982
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172734 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 18:27:30 +00:00
Bill Schmidt
792b123338
This patch fixes the PPC calling convention to handle returns of
...
_Complex float and _Complex long double, by simply increasing the
number of floating point registers available for return values.
The test case verifies that the correct registers are loaded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172733 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 17:45:19 +00:00
Alexey Samsonov
11af9a873f
ASan: add optional 'zero-based shadow' option to ASan passes. Always tell the values of shadow scale and offset to the runtime
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172709 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 11:12:32 +00:00
Elena Demikhovsky
6c327f92a5
Optimization for the following SIGN_EXTEND pairs:
...
v8i8 -> v8i64,
v8i8 -> v8i32,
v4i8 -> v4i64,
v4i16 -> v4i64
for AVX and AVX2.
Bug 14865.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172708 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 09:59:53 +00:00
Craig Topper
c2cbcc3acf
Combine AVX and SSE forms of MOVSS and MOVSD into the same multiclasses so they get instantiated together.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172704 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 06:59:42 +00:00
Eric Christopher
446b88fb81
Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this by
...
changing both the string of the dwo_name to be correct and the type of
the statement list.
Testcases all around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172699 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 03:00:04 +00:00
Eric Christopher
d96c72a14c
Add the DW_AT_GNU_addr_base for the skeleton cu. Add support for
...
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172698 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 02:59:59 +00:00
Jakob Stoklund Olesen
5ed625c3cf
Move MachineTraceMetrics.h into include/llvm/CodeGen.
...
Let targets use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172688 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 01:06:04 +00:00
Jakob Stoklund Olesen
02c6325a45
Provide a place for targets to insert ILP optimization passes.
...
Move the early if-conversion pass into this group.
ILP optimizations usually need to find the right balance between
register pressure and ILP using the MachineTraceMetrics analysis to
identify critical paths and estimate other costs. Such passes should run
together so they can share dominator tree and loop info analyses.
Besides if-conversion, future passes to run here here could include
expression height reduction and ARM's MLxExpansion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172687 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:58:38 +00:00
Jack Carter
c147b67820
This is a resubmittal. For some reason it broke the bots yesterday
...
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
The Mips RDHWR (Read Hardware Register) instruction was not
tested for assembler or dissassembler consumption. This patch
adds that functionality.
Contributer: Vladimir Medic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172685 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:28:20 +00:00
Daniel Dunbar
e06bfe8d90
[IR] Reserve/define the purpose for the "Linker Options" metadata flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172681 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:16:27 +00:00
Lang Hames
b0ec16b3a4
Update the description of the llvm.fmuladd.* intrinsics to avoid use of the
...
ambiguous term 'legal'.
Suggested by Andrew Booker. Thanks Andrew!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172680 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17 00:00:49 +00:00
Dmitri Gribenko
c3c8d2ad8d
Documentation: fix a typo 'IEE754'
...
Reported on IRC by _savage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172677 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 23:40:37 +00:00
Aaron Ballman
69877d6db9
Wrapping __popcnt64 for MSVC so that it's only used on 64-bit builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172670 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 23:17:21 +00:00
Daniel Dunbar
5db391c67d
[IR] Add 'Append' and 'AppendUnique' module flag behaviors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172659 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 21:38:56 +00:00
Renato Golin
d3c965d625
Change CostTable model to be global to all targets
...
Moving the X86CostTable to a common place, so that other back-ends
can share the code. Also simplifying it a bit and commoning up
tables with one and two types on operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172658 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 21:29:55 +00:00
Michael Gottesman
ac47c1bc39
Added test for r172599 which fixes bugzilla://14584,rdar://11744105.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172656 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 21:07:18 +00:00
Michael J. Spencer
c8b909ae49
[Support] Include the intrisics header and check for definition properly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172655 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 20:50:43 +00:00
Eric Christopher
4f3b323f8d
Make this test X86 only.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172652 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 20:31:35 +00:00
Eric Christopher
65605d85bd
Move this to X86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172651 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 20:31:32 +00:00
Eric Christopher
2c2bcbdd5b
Add testcase missed yesterday from Paul Robinson.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172646 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 19:53:47 +00:00
Michael J. Spencer
2dcc27367c
[Support] Add MSVC intrinsic for CountPopulation.
...
Patch by Jakub Staszak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172645 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 19:52:12 +00:00
Michael J. Spencer
235c022296
[Support] Update MSVC compiler support in Compiler.h.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172644 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 19:51:59 +00:00
Eli Bendersky
be2afb6408
Remove unneeded include and empty line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172642 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16 19:42:16 +00:00