oota-llvm.git
14 years agoDon't use reserved identifiers.
Dan Gohman [Fri, 9 Apr 2010 01:19:28 +0000 (01:19 +0000)]
Don't use reserved identifiers.

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

14 years agofix a SCCP miscompilation that could happen when a
Chris Lattner [Fri, 9 Apr 2010 01:14:31 +0000 (01:14 +0000)]
fix a SCCP miscompilation that could happen when a
forced constant is changed to a constant, we would end
up adding the instruction to the wrong worklist,
preventing it from being properly revisited.  This fixes
rdar://7832370

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

14 years agoBugfixes for edis. Code to initialize instruction
Sean Callanan [Fri, 9 Apr 2010 00:11:15 +0000 (00:11 +0000)]
Bugfixes for edis.  Code to initialize instruction
state was being executed too lazily, and the LLVM
assembly syntax for the disassembler was not being
written into the proper disassembler state variable.

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

14 years agoAvoid allocating a value of zero in a register if the initial formula
Dan Gohman [Thu, 8 Apr 2010 23:36:27 +0000 (23:36 +0000)]
Avoid allocating a value of zero in a register if the initial formula
inputs happen to negate each other.

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

14 years agoAdd a few more lint checks.
Dan Gohman [Thu, 8 Apr 2010 23:05:57 +0000 (23:05 +0000)]
Add a few more lint checks.

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

14 years agoAdd variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
Dan Gohman [Thu, 8 Apr 2010 23:03:40 +0000 (23:03 +0000)]
Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.

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

14 years agodelete a forwarding function.
Chris Lattner [Thu, 8 Apr 2010 21:34:17 +0000 (21:34 +0000)]
delete a forwarding function.

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

14 years agomove elf section uniquing to MCContext. Along the way
Chris Lattner [Thu, 8 Apr 2010 21:26:26 +0000 (21:26 +0000)]
move elf section uniquing to MCContext.  Along the way
merge XCore's section into MCSectionELF

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

14 years agoNow that Evan Cheng has fixed the coalescer bug (r100804), the workaround code
Johnny Chen [Thu, 8 Apr 2010 21:23:54 +0000 (21:23 +0000)]
Now that Evan Cheng has fixed the coalescer bug (r100804), the workaround code
to avoid memcpy() call is no longer necessary.

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

14 years agoremove the TargetLoweringObjectFileMachO::getMachoSection
Chris Lattner [Thu, 8 Apr 2010 20:40:11 +0000 (20:40 +0000)]
remove the TargetLoweringObjectFileMachO::getMachoSection
api and update clients to use MCContext instead.

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

14 years agomove macho section uniquing from MCParser and TLOF to MCContext where
Chris Lattner [Thu, 8 Apr 2010 20:30:37 +0000 (20:30 +0000)]
move macho section uniquing from MCParser and TLOF to MCContext where
the compiler and asmparser now unique to the same sections.  This fixes
rdar://7835021.

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

14 years agoCoalescer should not delete copy instructions whose defs are partially dead. e.g.
Evan Cheng [Thu, 8 Apr 2010 20:02:37 +0000 (20:02 +0000)]
Coalescer should not delete copy instructions whose defs are partially dead. e.g.
%RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def>

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

14 years agoUpdate CMake build.
Ted Kremenek [Thu, 8 Apr 2010 18:52:18 +0000 (18:52 +0000)]
Update CMake build.

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

14 years agoFix -Wsign-compare warning (issued by clang++).
Ted Kremenek [Thu, 8 Apr 2010 18:49:30 +0000 (18:49 +0000)]
Fix -Wsign-compare warning (issued by clang++).

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

14 years agoAdd a -lint pass which checks for common sources of undefined or likely
Dan Gohman [Thu, 8 Apr 2010 18:47:09 +0000 (18:47 +0000)]
Add a -lint pass which checks for common sources of undefined or likely
unintended behavior.

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

14 years agoRename a function.
Devang Patel [Thu, 8 Apr 2010 18:43:56 +0000 (18:43 +0000)]
Rename a function.

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

14 years agoimplicit defs get added to the end of machine instrs sometimes. Scan the whole instr...
Chris Lattner [Thu, 8 Apr 2010 18:20:52 +0000 (18:20 +0000)]
implicit defs get added to the end of machine instrs sometimes.  Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction.

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

14 years agoPointers to zero-sized objects don't point to overlapping objects.
Dan Gohman [Thu, 8 Apr 2010 18:11:50 +0000 (18:11 +0000)]
Pointers to zero-sized objects don't point to overlapping objects.

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

14 years agoPrint empty structs as {} rather than { }.
Dan Gohman [Thu, 8 Apr 2010 18:03:05 +0000 (18:03 +0000)]
Print empty structs as {} rather than { }.

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

14 years agoFix a comment.
Dan Gohman [Thu, 8 Apr 2010 17:41:04 +0000 (17:41 +0000)]
Fix a comment.

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

14 years agoTouch configure so it regenerates Disassemblers.def to include ARM so
Jeffrey Yasskin [Thu, 8 Apr 2010 17:19:20 +0000 (17:19 +0000)]
Touch configure so it regenerates Disassemblers.def to include ARM so
people stop seeing a broken build in EDDisassembler.cpp

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

14 years agoOne instruction may start (or end) multiple lexical scopes.
Devang Patel [Thu, 8 Apr 2010 16:50:29 +0000 (16:50 +0000)]
One instruction may start (or end) multiple lexical scopes.
There is no need to remember labels identifying regions marked by such instructions in each scope.

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

14 years agoclean up algorithm and remove operand order assumptions
Gabor Greif [Thu, 8 Apr 2010 16:46:24 +0000 (16:46 +0000)]
clean up algorithm and remove operand order assumptions

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

14 years agoFix a comment.
Dan Gohman [Thu, 8 Apr 2010 15:57:10 +0000 (15:57 +0000)]
Fix a comment.

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

14 years agoRemove dead code.
Devang Patel [Thu, 8 Apr 2010 15:48:02 +0000 (15:48 +0000)]
Remove dead code.

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

14 years agoDelete out of date comment.
Devang Patel [Thu, 8 Apr 2010 15:41:13 +0000 (15:41 +0000)]
Delete out of date comment.

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

14 years agoRefactor.
Devang Patel [Thu, 8 Apr 2010 15:37:09 +0000 (15:37 +0000)]
Refactor.

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

14 years agoVarious MSVC warning fixes about truncated 64 bit shifts and const pointers passed...
Benjamin Kramer [Thu, 8 Apr 2010 15:25:57 +0000 (15:25 +0000)]
Various MSVC warning fixes about truncated 64 bit shifts and const pointers passed to free.

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

14 years agoProvide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
Benjamin Kramer [Thu, 8 Apr 2010 15:22:35 +0000 (15:22 +0000)]
Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
never be called but msvc complains that they're missing.

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

14 years agouse abstract interface in two more places
Gabor Greif [Thu, 8 Apr 2010 13:50:42 +0000 (13:50 +0000)]
use abstract interface in two more places

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

14 years agofix compile
Gabor Greif [Thu, 8 Apr 2010 13:08:11 +0000 (13:08 +0000)]
fix compile

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

14 years agouse abstract interface
Gabor Greif [Thu, 8 Apr 2010 12:52:19 +0000 (12:52 +0000)]
use abstract interface

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

14 years agoUse twines to simplify calls to report_fatal_error. For code size and readability.
Benjamin Kramer [Thu, 8 Apr 2010 10:44:28 +0000 (10:44 +0000)]
Use twines to simplify calls to report_fatal_error. For code size and readability.

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

14 years agoUse errs instead of fprintf.
Benjamin Kramer [Thu, 8 Apr 2010 09:42:29 +0000 (09:42 +0000)]
Use errs instead of fprintf.

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

14 years agoAvoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store...
Evan Cheng [Thu, 8 Apr 2010 07:37:57 +0000 (07:37 +0000)]
Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.

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

14 years agoRevert this change from a while ago; ScalarEvolution shouldn't analyze
Dan Gohman [Thu, 8 Apr 2010 05:58:24 +0000 (05:58 +0000)]
Revert this change from a while ago; ScalarEvolution shouldn't analyze
undef as 0, since it can't force other analyses to intepret the undef
in the same way.

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

14 years agoWhen expanding expressions which are using post-inc mode for multiple loops,
Dan Gohman [Thu, 8 Apr 2010 05:57:57 +0000 (05:57 +0000)]
When expanding expressions which are using post-inc mode for multiple loops,
ensure that the expansion is dominated by the increments of those loops.

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

14 years agoMake post regalloc machine licm functional. It now passes all of MultiSource.
Evan Cheng [Thu, 8 Apr 2010 01:03:47 +0000 (01:03 +0000)]
Make post regalloc machine licm functional. It now passes all of MultiSource.

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

14 years agotypo
Chris Lattner [Thu, 8 Apr 2010 00:54:34 +0000 (00:54 +0000)]
typo

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

14 years agodocument isvolatile etc.
Chris Lattner [Thu, 8 Apr 2010 00:53:57 +0000 (00:53 +0000)]
document isvolatile etc.

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

14 years agompsadbw is not commutative.
Eric Christopher [Thu, 8 Apr 2010 00:52:02 +0000 (00:52 +0000)]
mpsadbw is not commutative.

Fixes PR3440.

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

14 years agoAdded support for ARM disassembly to edis.
Sean Callanan [Thu, 8 Apr 2010 00:48:21 +0000 (00:48 +0000)]
Added support for ARM disassembly to edis.

I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.

I will add the test harness for all this stuff in
a separate commit.

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

14 years agoconvert a report_fatal_error that I was able to trigger into a nice error
Chris Lattner [Thu, 8 Apr 2010 00:09:16 +0000 (00:09 +0000)]
convert a report_fatal_error that I was able to trigger into a nice error
so the user at least knows what inline asm is a problem.  For example:

error: inline asm not supported yet: don't know how to handle tied indirect register inputs
pr8788-1.c:14:10: note: generated from here
    asm ("\n" : "+r" (stack->regs)
         ^

Instead of:
fatal error: error in backend: Don't know how to handle tied indirect register inputs yet!

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

14 years agoFix typo.
Evan Cheng [Wed, 7 Apr 2010 23:51:38 +0000 (23:51 +0000)]
Fix typo.

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

14 years agominor tidying.
Chris Lattner [Wed, 7 Apr 2010 23:50:38 +0000 (23:50 +0000)]
minor tidying.

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

14 years agouse assertions instead of unreachable for logic errors.
Chris Lattner [Wed, 7 Apr 2010 23:47:51 +0000 (23:47 +0000)]
use assertions instead of unreachable for logic errors.

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

14 years agointroduce a new recoverable error handling API to LLVMContext
Chris Lattner [Wed, 7 Apr 2010 23:40:44 +0000 (23:40 +0000)]
introduce a new recoverable error handling API to LLVMContext
and use it in one place in inline asm handling stuff.  Before
we'd generate this for an invalid modifier letter:

$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl    ${0:Z}'
INLINEASM <es:abc incl    ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>

Now we generate this:

$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl    ${0:Z}'
asm.c:3:12: note: generated from here
  __asm__ ("incl    %Z0" : "+r" (X));
           ^
1 error generated.

This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)

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

14 years agoSay bitcast instead of bitconvert.
Dan Gohman [Wed, 7 Apr 2010 23:22:42 +0000 (23:22 +0000)]
Say bitcast instead of bitconvert.

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

14 years agoAdd svn:ignore.
Dan Gohman [Wed, 7 Apr 2010 23:19:41 +0000 (23:19 +0000)]
Add svn:ignore.

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

14 years agorename llvm_install_error_handler -> install_fatal_error_handler
Chris Lattner [Wed, 7 Apr 2010 23:12:29 +0000 (23:12 +0000)]
rename llvm_install_error_handler -> install_fatal_error_handler
and friends.

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

14 years agoUpdate CMake build.
Ted Kremenek [Wed, 7 Apr 2010 23:05:23 +0000 (23:05 +0000)]
Update CMake build.

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

14 years agoUpdate cmake build.
Benjamin Kramer [Wed, 7 Apr 2010 23:01:37 +0000 (23:01 +0000)]
Update cmake build.

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

14 years agoAdd support for stpncpy_chk.
Eric Christopher [Wed, 7 Apr 2010 23:00:07 +0000 (23:00 +0000)]
Add support for stpncpy_chk.

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

14 years agorename llvm::llvm_report_error -> llvm::report_fatal_error
Chris Lattner [Wed, 7 Apr 2010 22:58:41 +0000 (22:58 +0000)]
rename llvm::llvm_report_error -> llvm::report_fatal_error

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

14 years agoadd newlines at end of files.
Chris Lattner [Wed, 7 Apr 2010 22:54:55 +0000 (22:54 +0000)]
add newlines at end of files.

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

14 years agoadd newlines at the end of files.
Chris Lattner [Wed, 7 Apr 2010 22:53:17 +0000 (22:53 +0000)]
add newlines at the end of files.

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

14 years agoremove some unneeded errorhandling stuff.
Chris Lattner [Wed, 7 Apr 2010 22:44:07 +0000 (22:44 +0000)]
remove some unneeded errorhandling stuff.

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

14 years agominor tidying up
Chris Lattner [Wed, 7 Apr 2010 22:41:29 +0000 (22:41 +0000)]
minor tidying up

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

14 years agotidy up
Chris Lattner [Wed, 7 Apr 2010 22:29:10 +0000 (22:29 +0000)]
tidy up

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

14 years agoGeneralize IVUsers to track arbitrary expressions rather than expressions
Dan Gohman [Wed, 7 Apr 2010 22:27:08 +0000 (22:27 +0000)]
Generalize IVUsers to track arbitrary expressions rather than expressions
explicitly split into stride-and-offset pairs. Also, add the
ability to track multiple post-increment loops on the same expression.

This refines the concept of "normalizing" SCEV expressions used for
to post-increment uses, and introduces a dedicated utility routine for
normalizing and denormalizing expressions.

This fixes the expansion of expressions which are post-increment users
of more than one loop at a time. More broadly, this takes LSR another
step closer to being able to reason about more than one loop at a time.

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

14 years agoMissed this one line for the previous checkin to fix build warnings.
Johnny Chen [Wed, 7 Apr 2010 22:21:03 +0000 (22:21 +0000)]
Missed this one line for the previous checkin to fix build warnings.

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

14 years agoFixed warnings pointed out by clang.
Johnny Chen [Wed, 7 Apr 2010 22:03:27 +0000 (22:03 +0000)]
Fixed warnings pointed out by clang.

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

14 years agoFixed warnings pointed out by clang.
Johnny Chen [Wed, 7 Apr 2010 21:52:48 +0000 (21:52 +0000)]
Fixed warnings pointed out by clang.
Next to work on is ARMDisassemblerCore.cpp.

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

14 years agoFixed a bug where the disassembler would allow an immediate
Sean Callanan [Wed, 7 Apr 2010 21:42:19 +0000 (21:42 +0000)]
Fixed a bug where the disassembler would allow an immediate
argument that had to be between 0 and 7 to have any value,
firing an assert later in the AsmPrinter.  Now, the
disassembler rejects instructions with out-of-range values
for that immediate.

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

14 years agoFixed 3 warnings pointed out by clang.
Johnny Chen [Wed, 7 Apr 2010 21:23:48 +0000 (21:23 +0000)]
Fixed 3 warnings pointed out by clang.

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

14 years agounXFAIL, arm disassembler was reenabled.
Benjamin Kramer [Wed, 7 Apr 2010 21:19:41 +0000 (21:19 +0000)]
unXFAIL, arm disassembler was reenabled.

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

14 years agoFix typo and correct comment somewhat.
Eric Christopher [Wed, 7 Apr 2010 20:58:16 +0000 (20:58 +0000)]
Fix typo and correct comment somewhat.

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

14 years agoRe-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
Johnny Chen [Wed, 7 Apr 2010 20:53:12 +0000 (20:53 +0000)]
Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
ARMDecoderEmitter.cpp, with FIXME comment.

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

14 years agoSplit big test into multiple directories to cater to
Dale Johannesen [Wed, 7 Apr 2010 20:43:35 +0000 (20:43 +0000)]
Split big test into multiple directories to cater to
those who don't build all targets.

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

14 years agoAdded an AsmLexer for the ARM target, which uses
Sean Callanan [Wed, 7 Apr 2010 20:29:34 +0000 (20:29 +0000)]
Added an AsmLexer for the ARM target, which uses
a simple mapping of register names to IDs to
identify register tokens.

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

14 years agoTest that DEBUG_VALUE comments come out on a variety of targets.
Dale Johannesen [Wed, 7 Apr 2010 20:01:24 +0000 (20:01 +0000)]
Test that DEBUG_VALUE comments come out on a variety of targets.

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

14 years agoEducate GetInstrSizeInBytes implementations that
Dale Johannesen [Wed, 7 Apr 2010 19:51:44 +0000 (19:51 +0000)]
Educate GetInstrSizeInBytes implementations that
DBG_VALUE does not generate code.

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

14 years agofix 80-col violations
Gabor Greif [Wed, 7 Apr 2010 18:59:26 +0000 (18:59 +0000)]
fix 80-col violations

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

14 years agoRemove late ARM codegen optimization pass committed by accident.
Anton Korobeynikov [Wed, 7 Apr 2010 18:23:27 +0000 (18:23 +0000)]
Remove late ARM codegen optimization pass committed by accident.
It is not ready for public yet.

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

14 years agoSplit A8/A9 itins - they already were too big.
Anton Korobeynikov [Wed, 7 Apr 2010 18:22:11 +0000 (18:22 +0000)]
Split A8/A9 itins - they already were too big.

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

14 years agoAdd some crude itin approximation for VFP load / stores on A9
Anton Korobeynikov [Wed, 7 Apr 2010 18:22:03 +0000 (18:22 +0000)]
Add some crude itin approximation for VFP load / stores on A9

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

14 years agoAdd some crude approximation for neon load/store instructions
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:58 +0000 (18:21 +0000)]
Add some crude approximation for neon load/store instructions

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

14 years agoAdd some A8-based approximation for instructions with unknown cycle times
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:52 +0000 (18:21 +0000)]
Add some A8-based approximation for instructions with unknown cycle times

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

14 years agoMove NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:46 +0000 (18:21 +0000)]
Move NEON-VFP domain fixer upper, so post-RA scheduler would benefit from it.

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

14 years agoSince tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack anymore.
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:41 +0000 (18:21 +0000)]
Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack anymore.

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

14 years agoFix A8 FP NEON MAC itins
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:33 +0000 (18:21 +0000)]
Fix A8 FP NEON MAC itins

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

14 years agoA9 NEON FP itins
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:27 +0000 (18:21 +0000)]
A9 NEON FP itins

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

14 years agoSome permute goodness for A9
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:22 +0000 (18:21 +0000)]
Some permute goodness for A9

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

14 years agoMore shift itins for A9
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:16 +0000 (18:21 +0000)]
More shift itins for A9

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

14 years agoMore fixes for itins
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:10 +0000 (18:21 +0000)]
More fixes for itins

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

14 years agoFix invalid itins for 32-bit varians of VMLAL and friends
Anton Korobeynikov [Wed, 7 Apr 2010 18:21:04 +0000 (18:21 +0000)]
Fix invalid itins for 32-bit varians of VMLAL and friends

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

14 years agoAdd MAC stuff for A9
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:58 +0000 (18:20 +0000)]
Add MAC stuff for A9

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

14 years agoFix invalid NEON MAC itins on A8
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:53 +0000 (18:20 +0000)]
Fix invalid NEON MAC itins on A8

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

14 years agoFix itins for VPAL
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:47 +0000 (18:20 +0000)]
Fix itins for VPAL

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

14 years agoFix itins for VABA
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:42 +0000 (18:20 +0000)]
Fix itins for VABA

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

14 years agoCorrect VMVN itinerary: operand is read in the second cycle, not in the first.
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:36 +0000 (18:20 +0000)]
Correct VMVN itinerary: operand is read in the second cycle, not in the first.

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

14 years agoMore A9 itineraries
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:29 +0000 (18:20 +0000)]
More A9 itineraries

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

14 years agoCorrect itinerary class for VPADD
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:24 +0000 (18:20 +0000)]
Correct itinerary class for VPADD

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

14 years agoVP{MAX, MIN} are of IIC_VSUBi4D itin class as well.
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:18 +0000 (18:20 +0000)]
VP{MAX, MIN} are of IIC_VSUBi4D itin class as well.

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

14 years agoVHADD differs from VHSUB at least on A9 - the former reads both operands in the secon...
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:13 +0000 (18:20 +0000)]
VHADD differs from VHSUB at least on A9 - the former reads both operands in the second cycle, while the latter reads second operand in first cycle. Introduce new itin classes to catch this behavior. Whether this is true for A8 as well is WIP.

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

14 years agoSome easy NEON scheduling goodness for A9
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:07 +0000 (18:20 +0000)]
Some easy NEON scheduling goodness for A9

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

14 years agoDefine new itin classes for ARM <-> VFP reg moves to distinguish from NEON ops. Defin...
Anton Korobeynikov [Wed, 7 Apr 2010 18:20:02 +0000 (18:20 +0000)]
Define new itin classes for ARM <-> VFP reg moves to distinguish from NEON ops. Define proper scheduling itinerary for them on A9. A8 TRM does not specify latency for them at all :(

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

14 years agoFCONST{S,D} behaves the same way as FP unary instructions. This is true for both...
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:56 +0000 (18:19 +0000)]
FCONST{S,D} behaves the same way as FP unary instructions. This is true for both A8 and A9.

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

14 years agoProper cycle times for locks, since wbck latency can be larger than fwd latency.
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:51 +0000 (18:19 +0000)]
Proper cycle times for locks, since wbck latency can be larger than fwd latency.

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

14 years agoAdd new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.
Anton Korobeynikov [Wed, 7 Apr 2010 18:19:46 +0000 (18:19 +0000)]
Add new itin classes for FP16 <-> FP32 conversions and make uise of them for A9.

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