oota-llvm.git
11 years agoAdd testcase for llvm-dwarfdump to test parsing of the pubnames data.
Krzysztof Parzyszek [Thu, 14 Feb 2013 16:10:58 +0000 (16:10 +0000)]
Add testcase for llvm-dwarfdump to test parsing of the pubnames data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175168 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoOn FreeBSD, we need to look in /usr/local/include so that libxml2 finds iconv.h
David Chisnall [Thu, 14 Feb 2013 15:40:44 +0000 (15:40 +0000)]
On FreeBSD, we need to look in /usr/local/include so that libxml2 finds iconv.h

Patch by Jonathan Anderson!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175167 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake ARMAsmParser accept the correct alignment specifier syntax in instructions.
Kristof Beyls [Thu, 14 Feb 2013 14:46:12 +0000 (14:46 +0000)]
Make ARMAsmParser accept the correct alignment specifier syntax in instructions.

The parser will now accept instructions with alignment specifiers written like
    vld1.8  {d16}, [r0:64]
, while also still accepting the incorrect syntax
    vld1.8  {d16}, [r0, :64]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175164 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agollvm-symbolizer: speedup symbol lookup
Dmitry Vyukov [Thu, 14 Feb 2013 13:06:18 +0000 (13:06 +0000)]
llvm-symbolizer: speedup symbol lookup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175158 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWorkaround an MSan false positive.
Evgeniy Stepanov [Thu, 14 Feb 2013 12:18:32 +0000 (12:18 +0000)]
Workaround an MSan false positive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175156 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMoved line-info.ll to DebugInfo\X86 directory
Elena Demikhovsky [Thu, 14 Feb 2013 09:07:34 +0000 (09:07 +0000)]
Moved line-info.ll to DebugInfo\X86 directory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175150 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd some legality checks for SETCC before introducing it in the DAG combiner post...
Owen Anderson [Thu, 14 Feb 2013 09:07:33 +0000 (09:07 +0000)]
Add some legality checks for SETCC before introducing it in the DAG combiner post-operand legalization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175149 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThe test failed on Windows. I've changed the platform to run to "x86_64-apple-darwin".
Elena Demikhovsky [Thu, 14 Feb 2013 08:23:08 +0000 (08:23 +0000)]
The test failed on Windows. I've changed the platform to run to "x86_64-apple-darwin".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175146 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
Elena Demikhovsky [Thu, 14 Feb 2013 08:20:26 +0000 (08:20 +0000)]
Fixed a bug in X86TargetLowering::LowerVectorIntExtend() (assertion failure).
Added a test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175144 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoR600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack
Michel Danzer [Thu, 14 Feb 2013 08:00:33 +0000 (08:00 +0000)]
R600/SI: Check for empty stack in SIAnnotateControlFlow::isTopOfStack

Fixes assertion failure in newly added lit test. Might just be a bandaid that
needs to be revisited.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175139 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoR600: Add lit tests for texture sampling instruction selection.
Michel Danzer [Thu, 14 Feb 2013 07:43:51 +0000 (07:43 +0000)]
R600: Add lit tests for texture sampling instruction selection.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175138 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReapply "s/grep/FileCheck/ in some tests"
Andrew Trick [Thu, 14 Feb 2013 03:45:08 +0000 (03:45 +0000)]
Reapply "s/grep/FileCheck/ in some tests"

This reverts commit fd1335e982bbf93c5f450ed4fd29f9f787435c85.

Use a triple this time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175134 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r175120 and r175121. Clang is producing the expected asm names again.
Rafael Espindola [Thu, 14 Feb 2013 03:33:34 +0000 (03:33 +0000)]
Revert r175120 and r175121. Clang is producing the expected asm names again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175133 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
Cameron Zwarich [Thu, 14 Feb 2013 03:25:24 +0000 (03:25 +0000)]
RegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
register class to match the defining instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175130 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd missing typename to unbreak the MSVC 2012 build.
Francois Pichet [Thu, 14 Feb 2013 03:24:14 +0000 (03:24 +0000)]
Add missing typename to unbreak the MSVC 2012 build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175129 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTeach the DataLayout aware constant folder to be much more aggressive towards
Nick Lewycky [Thu, 14 Feb 2013 03:23:37 +0000 (03:23 +0000)]
Teach the DataLayout aware constant folder to be much more aggressive towards
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175128 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove the form field from Mips16 instruction formats and set things
Reed Kotler [Thu, 14 Feb 2013 03:05:25 +0000 (03:05 +0000)]
Remove the form field from Mips16 instruction formats and set things
up so that we can apply the direct object emitter patch. This patch
should be a nop right now and it's test is to not break what is already
there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175126 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert "s/grep/FileCheck/ in some tests"
Andrew Trick [Thu, 14 Feb 2013 03:00:57 +0000 (03:00 +0000)]
Revert "s/grep/FileCheck/ in some tests"

This reverts commit 8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.

The FileCheck tests are not equivalent:

test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
         ^
<stdin>:1:2: note: scanning from here
 .section __TEXT,__text,regular,pure_instructions
 ^
<stdin>:13:2: note: possible intended match here
 jmp _init ## TAILCALL
 ^

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175124 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
Cameron Zwarich [Thu, 14 Feb 2013 02:51:05 +0000 (02:51 +0000)]
Fix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
CoalescerPairs. Also, make it take a CoalescerPair directly like other methods
of RegisterCoalescer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175123 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix some issues with rematerialization in RegisterCoalescer when the destination
Cameron Zwarich [Thu, 14 Feb 2013 02:51:03 +0000 (02:51 +0000)]
Fix some issues with rematerialization in RegisterCoalescer when the destination
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.

These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175122 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDon't assume the mangling of static functions.
Rafael Espindola [Thu, 14 Feb 2013 02:49:18 +0000 (02:49 +0000)]
Don't assume the mangling of static functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175121 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDon't asume that a static function in an extern "C" block will not be mangled.
Rafael Espindola [Thu, 14 Feb 2013 01:58:08 +0000 (01:58 +0000)]
Don't asume that a static function in an extern "C" block will not be mangled.
Since functions with internal linkage don't have language linkage, it is valid
to overload them:

extern "C" {
       static int foo();
       static int foo(int);
}

So we mangle them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175120 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agotemporarily revert the patch due to some conflicts
Weiming Zhao [Wed, 13 Feb 2013 23:24:40 +0000 (23:24 +0000)]
temporarily revert the patch due to some conflicts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175107 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRetain the name of the new internal global that's been shrunk.
Bill Wendling [Wed, 13 Feb 2013 23:00:51 +0000 (23:00 +0000)]
Retain the name of the new internal global that's been shrunk.

It's possible (e.g. after an LTO build) that an internal global may be used for
debugging purposes. If that's the case appending a '.b' to it makes it hard to
find that variable. Steal the name from the old GV before deleting it so that
they can find that variable again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175104 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHexagon: add support for predicate-GPR copies.
Anshuman Dasgupta [Wed, 13 Feb 2013 22:56:34 +0000 (22:56 +0000)]
Hexagon: add support for predicate-GPR copies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175102 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agollvm-gcc -pedantic warns about C++ comments in C90 mode even if they're
Alex Rosenberg [Wed, 13 Feb 2013 22:45:52 +0000 (22:45 +0000)]
llvm-gcc -pedantic warns about C++ comments in C90 mode even if they're
inside an #if 0 block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175098 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix iterator definitions for ImmutableSet and ImmutableMap.
Ryan Govostes [Wed, 13 Feb 2013 22:37:27 +0000 (22:37 +0000)]
Fix iterator definitions for ImmutableSet and ImmutableMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175097 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoR600: Add support for 128-bit parameters
Tom Stellard [Wed, 13 Feb 2013 22:05:20 +0000 (22:05 +0000)]
R600: Add support for 128-bit parameters

NOTE: This is a candidate for the Mesa stable branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175096 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agos/grep/FileCheck/ in some tests
Eli Bendersky [Wed, 13 Feb 2013 22:00:37 +0000 (22:00 +0000)]
s/grep/FileCheck/ in some tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175093 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDon't build tail calls to functions with three inreg arguments on x86-32 PIC.
Nick Lewycky [Wed, 13 Feb 2013 21:59:15 +0000 (21:59 +0000)]
Don't build tail calls to functions with three inreg arguments on x86-32 PIC.
Fixes PR15250!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175092 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agos/grep/FileCheck/ in some tests
Eli Bendersky [Wed, 13 Feb 2013 21:46:38 +0000 (21:46 +0000)]
s/grep/FileCheck/ in some tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175089 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoBug fix 13622: Add paired register support for inline asm with 64-bit data on ARM
Weiming Zhao [Wed, 13 Feb 2013 21:43:02 +0000 (21:43 +0000)]
Bug fix 13622: Add paired register support for inline asm with 64-bit data on ARM

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175088 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline asm] Fix up test case for non-Darwin platforms.
Chad Rosier [Wed, 13 Feb 2013 21:41:58 +0000 (21:41 +0000)]
[ms-inline asm] Fix up test case for non-Darwin platforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175087 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHexagon: Use absolute addressing mode loads/stores for global+offset
Jyotsna Verma [Wed, 13 Feb 2013 21:38:46 +0000 (21:38 +0000)]
Hexagon: Use absolute addressing mode loads/stores for global+offset
instead of redefining separate instructions for them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175086 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd iterator_traits to ImmutableMap and ImmutableSet.
Ryan Govostes [Wed, 13 Feb 2013 21:38:22 +0000 (21:38 +0000)]
Add iterator_traits to ImmutableMap and ImmutableSet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175085 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline-asm] Add support for memory references that have non-immediate
Chad Rosier [Wed, 13 Feb 2013 21:33:44 +0000 (21:33 +0000)]
[ms-inline-asm] Add support for memory references that have non-immediate
displacements.
rdar://12974533

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175083 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline asm] Add a comment about the determinism of the rewrite sort.
Chad Rosier [Wed, 13 Feb 2013 21:27:17 +0000 (21:27 +0000)]
[ms-inline asm] Add a comment about the determinism of the rewrite sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175082 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoconfigure: remove workaround for gcc's -Wno-maybe-uninitialized
Dmitri Gribenko [Wed, 13 Feb 2013 21:19:39 +0000 (21:19 +0000)]
configure: remove workaround for gcc's -Wno-maybe-uninitialized

Since r174770 gcc version check is not needed because CXX_FLAG_CHECK
implements the workaround itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175080 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[docs] PR15254: Add "AST" to the lexicon.
Sean Silva [Wed, 13 Feb 2013 21:17:20 +0000 (21:17 +0000)]
[docs] PR15254: Add "AST" to the lexicon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175077 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoLoopVectorize: Simplify code for clarity.
Benjamin Kramer [Wed, 13 Feb 2013 21:12:29 +0000 (21:12 +0000)]
LoopVectorize: Simplify code for clarity.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175076 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd a blurb about the attributes changes to the release notes.
Bill Wendling [Wed, 13 Feb 2013 21:10:15 +0000 (21:10 +0000)]
Add a blurb about the attributes changes to the release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175075 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFor Mips 16, add the optimization where the 16 bit form of addiu sp can be used
Reed Kotler [Wed, 13 Feb 2013 20:28:27 +0000 (20:28 +0000)]
For Mips 16, add the optimization where the 16 bit form of addiu sp can be used
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175073 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoClean up LDV, no functionality change.
Manman Ren [Wed, 13 Feb 2013 20:23:48 +0000 (20:23 +0000)]
Clean up LDV, no functionality change.

Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175072 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple...
Bill Wendling [Wed, 13 Feb 2013 19:44:08 +0000 (19:44 +0000)]
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175069 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMIsched: HazardRecognizers are created for each DAG. Free them.
Andrew Trick [Wed, 13 Feb 2013 19:22:27 +0000 (19:22 +0000)]
MIsched: HazardRecognizers are created for each DAG. Free them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175067 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA
David Peixotto [Wed, 13 Feb 2013 19:21:47 +0000 (19:21 +0000)]
PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA

Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175066 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.
Chad Rosier [Wed, 13 Feb 2013 18:38:58 +0000 (18:38 +0000)]
[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175063 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMetadata for annotating loops as parallel. The first consumer for this
Pekka Jaaskelainen [Wed, 13 Feb 2013 18:08:57 +0000 (18:08 +0000)]
Metadata for annotating loops as parallel. The first consumer for this
metadata is the loop vectorizer.

See the documentation update for more info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175060 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd registration for PPC-specific passes to allow the IR to be dumped
Krzysztof Parzyszek [Wed, 13 Feb 2013 17:40:07 +0000 (17:40 +0000)]
Add registration for PPC-specific passes to allow the IR to be dumped
via -print-after-all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175058 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoX86: Disable generation of rep;movsl when %esi is used as a base pointer.
Benjamin Kramer [Wed, 13 Feb 2013 13:40:35 +0000 (13:40 +0000)]
X86: Disable generation of rep;movsl when %esi is used as a base pointer.

This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.

Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175057 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMention AArch64 in release notes for 3.3
Tim Northover [Wed, 13 Feb 2013 12:46:32 +0000 (12:46 +0000)]
Mention AArch64 in release notes for 3.3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175055 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix MSan annotations inclusion guard.
Evgeniy Stepanov [Wed, 13 Feb 2013 10:40:01 +0000 (10:40 +0000)]
Fix MSan annotations inclusion guard.

#cmakedefine does not behave the way I though it was.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175050 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse array_pod_sort.
Bill Wendling [Wed, 13 Feb 2013 09:26:26 +0000 (09:26 +0000)]
Use array_pod_sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175048 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate phab docs to clarify how to accept a change.
Manuel Klimek [Wed, 13 Feb 2013 09:07:18 +0000 (09:07 +0000)]
Update phab docs to clarify how to accept a change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175047 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd some accessor and query methods for retrieving Attribute objects and such.
Bill Wendling [Wed, 13 Feb 2013 08:42:21 +0000 (08:42 +0000)]
Add some accessor and query methods for retrieving Attribute objects and such.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175046 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake jumptables work for -static
Reed Kotler [Wed, 13 Feb 2013 08:32:14 +0000 (08:32 +0000)]
Make jumptables work for -static

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175044 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPrevent insertion of "vzeroupper" before call that preserves YMM registers, since...
Elena Demikhovsky [Wed, 13 Feb 2013 08:02:04 +0000 (08:02 +0000)]
Prevent insertion of "vzeroupper" before call that preserves YMM registers, since a caller uses preserved registers across the call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175043 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove unnecessary condtional assignment. The next line ignores the result of the...
Craig Topper [Wed, 13 Feb 2013 07:44:17 +0000 (07:44 +0000)]
Remove unnecessary condtional assignment. The next line ignores the result of the assignment with the same condition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175042 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThis is actually located at the end, not the middle.
Eric Christopher [Wed, 13 Feb 2013 07:22:25 +0000 (07:22 +0000)]
This is actually located at the end, not the middle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175041 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCheck i1 as well as i8 variables for 8 bit registers for x86 inline
Eric Christopher [Wed, 13 Feb 2013 06:01:05 +0000 (06:01 +0000)]
Check i1 as well as i8 variables for 8 bit registers for x86 inline
assembly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175036 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFinish obviously broken thought.
Eric Christopher [Wed, 13 Feb 2013 06:01:00 +0000 (06:01 +0000)]
Finish obviously broken thought.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175035 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[tsan] disable load widening in ThreadSanitizer mode
Kostya Serebryany [Wed, 13 Feb 2013 05:59:45 +0000 (05:59 +0000)]
[tsan] disable load widening in ThreadSanitizer mode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175034 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[asan] fix confusing indentation
Kostya Serebryany [Wed, 13 Feb 2013 05:14:12 +0000 (05:14 +0000)]
[asan] fix confusing indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175033 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agouse memcpy instead of dubious union to type pun two values,
Chris Lattner [Wed, 13 Feb 2013 04:53:40 +0000 (04:53 +0000)]
use memcpy instead of dubious union to type pun two values,
thanks to David Blaike for pointing this out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175032 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix comment.
Eric Christopher [Wed, 13 Feb 2013 02:29:18 +0000 (02:29 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175024 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDebug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.
Manman Ren [Wed, 13 Feb 2013 01:14:49 +0000 (01:14 +0000)]
Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.

RegisterCoalescer used to depend on LiveDebugVariable. LDV removes DBG_VALUEs
without emitting them at the end.

We fix this by removing LDV from RegisterCoalescer. Also add an assertion to
make sure we call emitDebugValues if DBG_VALUEs are removed at
runOnMachineFunction.

rdar://problem/13183203
Reviewed by Andy & Jakob

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175023 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline-asm] Make sure the AsmRewrite list is sorted in lexical order.
Chad Rosier [Wed, 13 Feb 2013 01:03:13 +0000 (01:03 +0000)]
[ms-inline-asm] Make sure the AsmRewrite list is sorted in lexical order.
rdar://13202662

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175021 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTest commit. Fixed typo.
David Peixotto [Wed, 13 Feb 2013 00:36:35 +0000 (00:36 +0000)]
Test commit. Fixed typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175020 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix comment
Arnaud A. de Grandmaison [Wed, 13 Feb 2013 00:19:19 +0000 (00:19 +0000)]
Fix comment

visitSExt is an adapted copy of the related visitZExt method, so adapt the comment accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175019 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoChanged isStoredObjCPointer => IsStoredObjCPointer. No functionality change.
Michael Gottesman [Tue, 12 Feb 2013 23:35:08 +0000 (23:35 +0000)]
Changed isStoredObjCPointer => IsStoredObjCPointer. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175017 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd a default empty string to the 'value' of a string attribute.
Bill Wendling [Tue, 12 Feb 2013 23:14:31 +0000 (23:14 +0000)]
Add a default empty string to the 'value' of a string attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175016 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoActually delete this code, since it's really not clear what it's
Dan Gohman [Tue, 12 Feb 2013 22:26:41 +0000 (22:26 +0000)]
Actually delete this code, since it's really not clear what it's
trying to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175014 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline-asm] Implement align directive (which is roughly equivalent to .align).
Chad Rosier [Tue, 12 Feb 2013 21:33:51 +0000 (21:33 +0000)]
[ms-inline-asm] Implement align directive (which is roughly equivalent to .align).

Also, allow _EMIT and __EMIT for the emit directive.  We already do the same
for TYPE, SIZE, and LENGTH.
rdar://13200215

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175008 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThis patch just fixes up various llvm formatting
Jack Carter [Tue, 12 Feb 2013 21:29:39 +0000 (21:29 +0000)]
This patch just fixes up various llvm formatting
violations such as tabs, blanks at eol and long
lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175007 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd static cast to unsigned char whenever a character classification function is...
Guy Benyei [Tue, 12 Feb 2013 21:21:59 +0000 (21:21 +0000)]
Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175006 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRecord PRE predecessors with a SmallVector instead of a DenseMap, and
Dan Gohman [Tue, 12 Feb 2013 19:49:10 +0000 (19:49 +0000)]
Record PRE predecessors with a SmallVector instead of a DenseMap, and
avoid a second pred_iterator traversal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175001 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline asm] Pass the length of the IDVal, so we can do a proper AsmRewrite.
Chad Rosier [Tue, 12 Feb 2013 19:42:32 +0000 (19:42 +0000)]
[ms-inline asm] Pass the length of the IDVal, so we can do a proper AsmRewrite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174999 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline asm] Accept the emit directive as either _emit or __emit.
Chad Rosier [Tue, 12 Feb 2013 19:31:23 +0000 (19:31 +0000)]
[ms-inline asm] Accept the emit directive as either _emit or __emit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174998 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWhen disabling PRE for a value is directly redundant with itself
Dan Gohman [Tue, 12 Feb 2013 19:05:10 +0000 (19:05 +0000)]
When disabling PRE for a value is directly redundant with itself
(through a loop), don't continue to iterate through the reamining
predecessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174994 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove target-specific info from the testcase for DWARF/pubnames.
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:53:21 +0000 (18:53 +0000)]
Remove target-specific info from the testcase for DWARF/pubnames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174992 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCheck that pointers are removed from maps before calling delete on the pointers,
Dan Gohman [Tue, 12 Feb 2013 18:44:43 +0000 (18:44 +0000)]
Check that pointers are removed from maps before calling delete on the pointers,
for tidiness' sake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174988 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMinor code simplification.
Dan Gohman [Tue, 12 Feb 2013 18:38:36 +0000 (18:38 +0000)]
Minor code simplification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174985 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ms-inline asm] Add support for lexing binary integers with a [bB] suffix.
Chad Rosier [Tue, 12 Feb 2013 18:29:02 +0000 (18:29 +0000)]
[ms-inline asm] Add support for lexing binary integers with a [bB] suffix.

This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero).  The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly.  However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).

This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://12470373

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174983 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDocumentation: HowToUseAttributes: formatting (use monospaced font)
Dmitri Gribenko [Tue, 12 Feb 2013 18:26:08 +0000 (18:26 +0000)]
Documentation: HowToUseAttributes: formatting (use monospaced font)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174982 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAllow optionally generating pubnames section in DWARF info. Introduce
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:00:14 +0000 (18:00 +0000)]
Allow optionally generating pubnames section in DWARF info.  Introduce
option "generate-dwarf-pubnames" to control it, set to "false" by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174981 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoadded test cases for r174920 (prefetch disassembly)
Kay Tiong Khoo [Tue, 12 Feb 2013 17:07:44 +0000 (17:07 +0000)]
added test cases for r174920 (prefetch disassembly)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174979 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoEqual treatment of labels and other terminators in MI DAG construction.
Sergei Larin [Tue, 12 Feb 2013 16:36:03 +0000 (16:36 +0000)]
Equal treatment of labels and other terminators in MI DAG construction.

MI sched DAG construction allows targets to include terminators into scheduling DAG.
Extend this functionality to labels as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174977 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd support for the pubnames section to llvm-dwarfdump.
Krzysztof Parzyszek [Tue, 12 Feb 2013 16:20:28 +0000 (16:20 +0000)]
Add support for the pubnames section to llvm-dwarfdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174976 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix the lit test added in r174972
Paul Redmond [Tue, 12 Feb 2013 16:07:27 +0000 (16:07 +0000)]
Fix the lit test added in r174972

Patch by: Kevin Schoedel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174974 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHexagon: Add support to generate predicated absolute addressing mode
Jyotsna Verma [Tue, 12 Feb 2013 16:06:23 +0000 (16:06 +0000)]
Hexagon: Add support to generate predicated absolute addressing mode
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174973 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR14562 - Truncation of left shift became undef
Paul Redmond [Tue, 12 Feb 2013 15:21:21 +0000 (15:21 +0000)]
PR14562 - Truncation of left shift became undef

DAGCombiner::ReduceLoadWidth was converting (trunc i32 (shl i64 v, 32))
into (shl i32 v, 32) into undef. To prevent this, check the shift count
against the final result size.

Patch by: Kevin Schoedel
Reviewed by: Nadav Rotem

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174972 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[NVPTX] Disable vector registers
Justin Holewinski [Tue, 12 Feb 2013 14:18:49 +0000 (14:18 +0000)]
[NVPTX] Disable vector registers

Vectors were being manually scalarized by the backend.  Instead,
let the target-independent code do all of the work.  The manual
scalarization was from a time before good target-independent support
for scalarization in LLVM. However, this forces us to specially-handle
vector loads and stores, which we can turn into PTX instructions that
produce/consume multiple operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174968 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[ASan] Do not use kDefaultShort64bitShadowOffset on Mac, where the binaries may get...
Alexander Potapenko [Tue, 12 Feb 2013 12:41:12 +0000 (12:41 +0000)]
[ASan] Do not use kDefaultShort64bitShadowOffset on Mac, where the binaries may get mapped at 0x100000000+ and thus may interleave with the shadow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174964 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoR600: Fix regression with shadow array sampler on pre-SI GPUs.
Michel Danzer [Tue, 12 Feb 2013 12:11:23 +0000 (12:11 +0000)]
R600: Fix regression with shadow array sampler on pre-SI GPUs.

'R600/SI: Use proper instructions for array/shadow samplers.' removed two
cases from TEX_SHADOW. Vincent Lejeune reported on IRC that this broke some
shadow array piglit tests with the r600g driver. Reinstating the removed
cases should fix this, and still works with radeonsi as well.

I will follow up with some lit tests which would have caught the regression.

NOTE: This is a candidate for the Mesa stable branch.

Tested-by: Vincent Lejeune <vljn@ovi.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174963 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdding a HowTo for Attributes.
Joe Abbey [Tue, 12 Feb 2013 11:45:22 +0000 (11:45 +0000)]
Adding a HowTo for Attributes.

This is based on Bill Wendling's email.  No additional content has been added,
but now there's a place for Attributes to capture future information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174961 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[asan] fix tests for the new ABI
Kostya Serebryany [Tue, 12 Feb 2013 11:14:24 +0000 (11:14 +0000)]
[asan] fix tests for the new ABI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174959 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives roughly...
Kostya Serebryany [Tue, 12 Feb 2013 11:11:02 +0000 (11:11 +0000)]
[asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. llvm part, compiler-rt part will follow

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174957 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMerge the collected attributes into the call instruction's attributes.
Bill Wendling [Tue, 12 Feb 2013 10:13:06 +0000 (10:13 +0000)]
Merge the collected attributes into the call instruction's attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174955 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTest for string attributes and for attribute group output.
Bill Wendling [Tue, 12 Feb 2013 09:14:20 +0000 (09:14 +0000)]
Test for string attributes and for attribute group output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174954 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoHave the bitcode writer and reader handle the new attribute references.
Bill Wendling [Tue, 12 Feb 2013 08:13:50 +0000 (08:13 +0000)]
Have the bitcode writer and reader handle the new attribute references.

The bitcode writer emits a reference to the attribute group that the object at
the given index refers to. The bitcode reader is modified to read this in and
map it back to the attribute group.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174952 91177308-0d34-0410-b5e6-96231b3b80d8