oota-llvm.git
15 years agollvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')
Daniel Dunbar [Tue, 11 Aug 2009 23:23:44 +0000 (23:23 +0000)]
llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')

We now match all of 403.gcc (as emitted by clang). :)

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

15 years agoprune #include
Chris Lattner [Tue, 11 Aug 2009 23:07:27 +0000 (23:07 +0000)]
prune #include

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

15 years agoprune #includage.
Chris Lattner [Tue, 11 Aug 2009 23:06:16 +0000 (23:06 +0000)]
prune #includage.

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

15 years agofix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742
Chris Lattner [Tue, 11 Aug 2009 23:03:40 +0000 (23:03 +0000)]
fix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742

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

15 years agochange the -x86-asm-syntax=intel/att flag to be in X86TAI
Chris Lattner [Tue, 11 Aug 2009 23:01:09 +0000 (23:01 +0000)]
change the -x86-asm-syntax=intel/att flag to be in X86TAI
instead of X86 Subtarget.  This elimianates dependencies on
X86Subtarget from X86TAI.

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

15 years agoShrinkify Thumb2 r = add sp, imm.
Evan Cheng [Tue, 11 Aug 2009 23:00:31 +0000 (23:00 +0000)]
Shrinkify Thumb2 r = add sp, imm.

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

15 years agosecond half of commit.
Chris Lattner [Tue, 11 Aug 2009 22:52:15 +0000 (22:52 +0000)]
second half of commit.

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

15 years agopass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.
Chris Lattner [Tue, 11 Aug 2009 22:51:34 +0000 (22:51 +0000)]
pass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.

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

15 years agoeliminate asmflavor from subtarget, PPCTAI is the only client
Chris Lattner [Tue, 11 Aug 2009 22:49:34 +0000 (22:49 +0000)]
eliminate asmflavor from subtarget, PPCTAI is the only client
and each callee knows that it returns.

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

15 years agoChange the asmprinter to print the comment character before the
Chris Lattner [Tue, 11 Aug 2009 22:39:40 +0000 (22:39 +0000)]
Change the asmprinter to print the comment character before the
"inlineasmstart/end" strings so that the contents of the directive
are separate from the comment character.  This lets elf targets
get #APP/#NOAPP for free even if they don't use "#" as the comment
character.  This also allows hoisting the darwin stuff up to the
shared TAI class.

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

15 years agoAllow a zero cycle stage to reserve/require a FU without advancing the cycle counter.
David Goodwin [Tue, 11 Aug 2009 22:38:43 +0000 (22:38 +0000)]
Allow a zero cycle stage to reserve/require a FU without advancing the cycle counter.

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

15 years agofactorize more darwin TAI stuff. Note that this gives
Chris Lattner [Tue, 11 Aug 2009 22:31:42 +0000 (22:31 +0000)]
factorize more darwin TAI stuff.  Note that this gives
darwin/arm support for .no_dead_strip

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

15 years agoX86/AsmParser: Mark MOV64GSrm, MOV64FSrm, GS_MOV32rm, FS_MOV32rm as codegen only.
Daniel Dunbar [Tue, 11 Aug 2009 22:24:40 +0000 (22:24 +0000)]
X86/AsmParser: Mark MOV64GSrm, MOV64FSrm, GS_MOV32rm, FS_MOV32rm as codegen only.

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

15 years agofactorize darwin ProtectedDirective and SetDirective.
Chris Lattner [Tue, 11 Aug 2009 22:22:44 +0000 (22:22 +0000)]
factorize darwin ProtectedDirective and SetDirective.

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

15 years agoAdd 'isCodeGenOnly' bit to Instruction .td records.
Daniel Dunbar [Tue, 11 Aug 2009 22:17:52 +0000 (22:17 +0000)]
Add 'isCodeGenOnly' bit to Instruction .td records.
 - Used to mark fake instructions which don't correspond to an actual machine
   instruction (or are duplicates of a real instruction). This is to be used for
   "special cases" in the .td files, which should be ignored by things like the
   assembler and disassembler. We still need a good solution to handle pervasive
   duplication, like with the Int_ instructions.

 - Set the bit on fake "mov 0" style instructions, which allows turning an
   assembler matcher warning into a hard error.

 - -2 FIXMEs.

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

15 years agoall darwin targets have .space and .zerofill, pull up.
Chris Lattner [Tue, 11 Aug 2009 22:17:31 +0000 (22:17 +0000)]
all darwin targets have .space and .zerofill, pull up.

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

15 years agoeliminate template from arm TAI
Chris Lattner [Tue, 11 Aug 2009 22:14:59 +0000 (22:14 +0000)]
eliminate template from arm TAI

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

15 years agofix a bug I introduced in r78724 that caused failures in:
Chris Lattner [Tue, 11 Aug 2009 22:12:58 +0000 (22:12 +0000)]
fix a bug I introduced in r78724 that caused failures in:
CodeGen/X86/dll-linkage.ll & CodeGen/X86/mingw-alloca.ll

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

15 years agomove LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminate
Chris Lattner [Tue, 11 Aug 2009 22:06:07 +0000 (22:06 +0000)]
move LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminate
template in PPC backend for TAI.

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

15 years agoFix warnings.
Owen Anderson [Tue, 11 Aug 2009 21:59:30 +0000 (21:59 +0000)]
Fix warnings.

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

15 years agoeliminate the X86TargetAsmInfo template.
Chris Lattner [Tue, 11 Aug 2009 21:57:08 +0000 (21:57 +0000)]
eliminate the X86TargetAsmInfo template.

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

15 years agoAdded ADD instructions with rAX as one parameter to the Intel instruction
Sean Callanan [Tue, 11 Aug 2009 21:26:06 +0000 (21:26 +0000)]
Added ADD instructions with rAX as one parameter to the Intel instruction
tables.

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

15 years agoShrinkify Thumb2 load / store multiple instructions.
Evan Cheng [Tue, 11 Aug 2009 21:11:32 +0000 (21:11 +0000)]
Shrinkify Thumb2 load / store multiple instructions.

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

15 years agollvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
Daniel Dunbar [Tue, 11 Aug 2009 20:59:47 +0000 (20:59 +0000)]
llvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
used to strip hard coded comments out of .td assembly strings.

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

15 years agostruct -> class
Owen Anderson [Tue, 11 Aug 2009 20:52:44 +0000 (20:52 +0000)]
struct -> class

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

15 years agoOptimize exact sdiv by a constant power of 2 to ashr.
Dan Gohman [Tue, 11 Aug 2009 20:47:47 +0000 (20:47 +0000)]
Optimize exact sdiv by a constant power of 2 to ashr.

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

15 years agoSplit EVT into MVT and EVT, the former representing _just_ a primitive type, while
Owen Anderson [Tue, 11 Aug 2009 20:47:22 +0000 (20:47 +0000)]
Split EVT into MVT and EVT, the former representing _just_ a primitive type, while
the latter is capable of representing either a primitive or an extended type.

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

15 years agoStringRef: Add find(char) and find(StringRef).
Daniel Dunbar [Tue, 11 Aug 2009 20:47:15 +0000 (20:47 +0000)]
StringRef: Add find(char) and find(StringRef).

Also, regroup functions.

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

15 years agopass the TargetTriple down from each target ctor to the
Chris Lattner [Tue, 11 Aug 2009 20:42:37 +0000 (20:42 +0000)]
pass the TargetTriple down from each target ctor to the
LLVMTargetMachine ctor.  It is currently unused.

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

15 years agonow that JumpTableDirective can differentate picness itself, MIPS TAI
Chris Lattner [Tue, 11 Aug 2009 20:32:51 +0000 (20:32 +0000)]
now that JumpTableDirective can differentate picness itself, MIPS TAI
no longer needs a targetmachine to initialize itself.

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

15 years agosplit "JumpTableDirective" (an existing hack) into a PIC and nonPIC
Chris Lattner [Tue, 11 Aug 2009 20:30:58 +0000 (20:30 +0000)]
split "JumpTableDirective" (an existing hack) into a PIC and nonPIC
version.  This allows TAI implementations to specify the directive to use
based on the mode being codegen'd for.

The real fix for this is to remove JumpTableDirective, but I don't feel
like diving into the jumptable snarl just now.

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

15 years ago"TAI::JumpTableDirective" is always null for current arm targets, simplify
Chris Lattner [Tue, 11 Aug 2009 20:29:57 +0000 (20:29 +0000)]
"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better.

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

15 years agoAdd convenience functions for creating nsw add operators.
Dan Gohman [Tue, 11 Aug 2009 20:20:39 +0000 (20:20 +0000)]
Add convenience functions for creating nsw add operators.

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

15 years agollvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
Daniel Dunbar [Tue, 11 Aug 2009 20:10:07 +0000 (20:10 +0000)]
llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
related.

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

15 years agoUse wchar.h to get wchar_t, not ctype.h.
Dan Gohman [Tue, 11 Aug 2009 19:59:21 +0000 (19:59 +0000)]
Use wchar.h to get wchar_t, not ctype.h.

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

15 years agoDon't set the isexact flag if an sdiv operator has been folded into
Dan Gohman [Tue, 11 Aug 2009 19:56:00 +0000 (19:56 +0000)]
Don't set the isexact flag if an sdiv operator has been folded into
something else.

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

15 years agoAdd Thumb2 eh_sjlj_setjmp implementation
Jim Grosbach [Tue, 11 Aug 2009 19:42:21 +0000 (19:42 +0000)]
Add Thumb2 eh_sjlj_setjmp implementation

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

15 years agoSimplify ConstantExpr::getInBoundsGetElementPtr and fix a possible crash, if
Daniel Dunbar [Tue, 11 Aug 2009 18:28:09 +0000 (18:28 +0000)]
Simplify ConstantExpr::getInBoundsGetElementPtr and fix a possible crash, if
constant folding eliminated the GEP instruction.
 - clang was hitting this on its test suite (for x86_64, at least).

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

15 years agoRevert 78680 until I figure out why it completely broke things.
Daniel Dunbar [Tue, 11 Aug 2009 18:11:15 +0000 (18:11 +0000)]
Revert 78680 until I figure out why it completely broke things.

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

15 years agoLink NamedMDNodes.
Devang Patel [Tue, 11 Aug 2009 18:01:24 +0000 (18:01 +0000)]
Link NamedMDNodes.

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

15 years agoAdd convenience functions for creating inbounds GEPs.
Dan Gohman [Tue, 11 Aug 2009 17:57:01 +0000 (17:57 +0000)]
Add convenience functions for creating inbounds GEPs.

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

15 years agoUse DEBUG macro for debug output.
David Goodwin [Tue, 11 Aug 2009 17:56:42 +0000 (17:56 +0000)]
Use DEBUG macro for debug output.

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

15 years agoadd a trivial line # cache to SourceMgr to make repeated queries to
Chris Lattner [Tue, 11 Aug 2009 17:49:14 +0000 (17:49 +0000)]
add a trivial line # cache to SourceMgr to make repeated queries to
FindLineNumber much faster when in sequence.

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

15 years agollvm-mc: Fix a crash on invalid due to a typo in relocatable expression
Daniel Dunbar [Tue, 11 Aug 2009 17:47:52 +0000 (17:47 +0000)]
llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
evaluation.

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

15 years agoMake LLVMContext and LLVMContextImpl classes instead of structs.
Benjamin Kramer [Tue, 11 Aug 2009 17:45:13 +0000 (17:45 +0000)]
Make LLVMContext and LLVMContextImpl classes instead of structs.

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

15 years agoRemove some unnecessary LoadInst constructors, missed during Twinification.
Daniel Dunbar [Tue, 11 Aug 2009 17:38:47 +0000 (17:38 +0000)]
Remove some unnecessary LoadInst constructors, missed during Twinification.

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

15 years agomake owen happy by being explicit.
Chris Lattner [Tue, 11 Aug 2009 17:38:15 +0000 (17:38 +0000)]
make owen happy by being explicit.

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

15 years agoAdd some debug output.
David Goodwin [Tue, 11 Aug 2009 17:35:23 +0000 (17:35 +0000)]
Add some debug output.

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

15 years agoFix struct/class mismatch.
Benjamin Kramer [Tue, 11 Aug 2009 17:27:20 +0000 (17:27 +0000)]
Fix struct/class mismatch.

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

15 years agoUse isa instead of dyn_cast when the result is only converted to bool.
Dan Gohman [Tue, 11 Aug 2009 17:20:16 +0000 (17:20 +0000)]
Use isa instead of dyn_cast when the result is only converted to bool.

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

15 years agoFix cut-n-pasto in comment.
Devang Patel [Tue, 11 Aug 2009 17:15:47 +0000 (17:15 +0000)]
Fix cut-n-pasto in comment.

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

15 years agofix GetInstSizeInBytes for eh_sjlj_setjmp
Jim Grosbach [Tue, 11 Aug 2009 17:08:15 +0000 (17:08 +0000)]
fix GetInstSizeInBytes for eh_sjlj_setjmp

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

15 years agoAdd convenience functions for creating exact sdiv operators, and
Dan Gohman [Tue, 11 Aug 2009 17:05:24 +0000 (17:05 +0000)]
Add convenience functions for creating exact sdiv operators, and
use them in CreatePtrDiff.

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

15 years agoAvoid implicitly depending on Instructions.h.
Dan Gohman [Tue, 11 Aug 2009 17:03:18 +0000 (17:03 +0000)]
Avoid implicitly depending on Instructions.h.

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

15 years agomove some 32-bit instrs to x86instrinfo.td
Chris Lattner [Tue, 11 Aug 2009 16:58:39 +0000 (16:58 +0000)]
move some 32-bit instrs to x86instrinfo.td

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

15 years agoRevert 78662 to fix broken windows build. Add a comment which explains the problem.
Benjamin Kramer [Tue, 11 Aug 2009 16:41:22 +0000 (16:41 +0000)]
Revert 78662 to fix broken windows build. Add a comment which explains the problem.

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

15 years agoThis void is implicit in C++.
Benjamin Kramer [Tue, 11 Aug 2009 16:03:08 +0000 (16:03 +0000)]
This void is implicit in C++.

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

15 years agoTidy #includes.
Dan Gohman [Tue, 11 Aug 2009 16:02:12 +0000 (16:02 +0000)]
Tidy #includes.

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

15 years agoSimplify this code. The case where one class is GR64RegClass and the
Dan Gohman [Tue, 11 Aug 2009 15:59:48 +0000 (15:59 +0000)]
Simplify this code. The case where one class is GR64RegClass and the
other is a subclass of it is effectively handled by the prior tests.

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

15 years agoAdd an explicit keyword.
Dan Gohman [Tue, 11 Aug 2009 15:57:42 +0000 (15:57 +0000)]
Add an explicit keyword.

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

15 years agoConstantFolder and NoFolder no longer require their Context members.
Dan Gohman [Tue, 11 Aug 2009 15:56:12 +0000 (15:56 +0000)]
ConstantFolder and NoFolder no longer require their Context members.

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

15 years agonow that these are in file-check format, we can merge them together
Chris Lattner [Tue, 11 Aug 2009 15:54:17 +0000 (15:54 +0000)]
now that these are in file-check format, we can merge them together
into one bigger test (which runs faster)

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

15 years agoFix a typo in an assertion string.
Dan Gohman [Tue, 11 Aug 2009 15:53:15 +0000 (15:53 +0000)]
Fix a typo in an assertion string.

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

15 years agoUse the default copy-ctor, copy-assignment, and destructor.
Dan Gohman [Tue, 11 Aug 2009 15:52:30 +0000 (15:52 +0000)]
Use the default copy-ctor, copy-assignment, and destructor.

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

15 years agoAdd a comment about the additional meaning of setPreservesCFG() for
Dan Gohman [Tue, 11 Aug 2009 15:50:56 +0000 (15:50 +0000)]
Add a comment about the additional meaning of setPreservesCFG() for
MachineFunctionPass passes.

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

15 years agoDon't assume that external global variables are aligned at their preferred
Dan Gohman [Tue, 11 Aug 2009 15:50:03 +0000 (15:50 +0000)]
Don't assume that external global variables are aligned at their preferred
alignment. Only the minimum alignment guaranteed by the ABI may be assumed.

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

15 years agoRemove unnecessary throw() specifications; LLVM doesn't use exceptions.
Dan Gohman [Tue, 11 Aug 2009 15:35:57 +0000 (15:35 +0000)]
Remove unnecessary throw() specifications; LLVM doesn't use exceptions.

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

15 years agoWhitespace cleanup. Remove trailing whitespace.
Jim Grosbach [Tue, 11 Aug 2009 15:33:49 +0000 (15:33 +0000)]
Whitespace cleanup. Remove trailing whitespace.

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

15 years agoMove ~ARMConstantPoolValue() to the .cpp file to avoid needing to include <cstdlib...
Jim Grosbach [Tue, 11 Aug 2009 15:26:27 +0000 (15:26 +0000)]
Move ~ARMConstantPoolValue() to the .cpp file to avoid needing to include <cstdlib> in the header.

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

15 years agoRemove unnecessary casts.
Dan Gohman [Tue, 11 Aug 2009 15:15:10 +0000 (15:15 +0000)]
Remove unnecessary casts.

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

15 years agoAdd const qualifiers.
Dan Gohman [Tue, 11 Aug 2009 15:13:43 +0000 (15:13 +0000)]
Add const qualifiers.

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

15 years agoRemove an unnecessary mutable.
Dan Gohman [Tue, 11 Aug 2009 15:03:52 +0000 (15:03 +0000)]
Remove an unnecessary mutable.

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

15 years agoRegenerate per request of Gabor Greif (r78628)
Shantonu Sen [Tue, 11 Aug 2009 13:39:52 +0000 (13:39 +0000)]
Regenerate per request of Gabor Greif (r78628)

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

15 years agoSilence MSVC warning.
Benjamin Kramer [Tue, 11 Aug 2009 11:01:19 +0000 (11:01 +0000)]
Silence MSVC warning.

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

15 years agoFix the previous accidental commit. Now shrinking common Thumb2 load / store instruct...
Evan Cheng [Tue, 11 Aug 2009 09:37:40 +0000 (09:37 +0000)]
Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions.

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

15 years agoFix Thumb2 load / store addressing mode matching code. Do not use so_reg form to
Evan Cheng [Tue, 11 Aug 2009 08:52:18 +0000 (08:52 +0000)]
Fix Thumb2 load / store addressing mode matching code. Do not use so_reg form to
match base only address, i.e. [r] since Thumb2 requires a offset register field.
For those, use [r + imm12] where the immediate is zero.
Note the generated assembly code does not look any different after the patch.
But the bug would have broken the JIT (if there is Thumb2 support) and it can
break later passes which expect the address mode to be well-formed.

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

15 years ago80 column violation.
Evan Cheng [Tue, 11 Aug 2009 08:47:46 +0000 (08:47 +0000)]
80 column violation.

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

15 years agoChange llvm-c's ordering of contexts to make it consistent.
Erick Tryzelaar [Tue, 11 Aug 2009 07:46:16 +0000 (07:46 +0000)]
Change llvm-c's ordering of contexts to make it consistent.

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

15 years agoCosmetic changes.
Evan Cheng [Tue, 11 Aug 2009 07:36:14 +0000 (07:36 +0000)]
Cosmetic changes.

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

15 years agoAdding a blank line back.
Evan Cheng [Tue, 11 Aug 2009 07:32:58 +0000 (07:32 +0000)]
Adding a blank line back.

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

15 years agoLink metadata.
Devang Patel [Tue, 11 Aug 2009 06:46:31 +0000 (06:46 +0000)]
Link metadata.

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

15 years agoRemove dead metadata.
Devang Patel [Tue, 11 Aug 2009 06:31:57 +0000 (06:31 +0000)]
Remove dead metadata.

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

15 years agoRebuild RegScavenger::DistanceMap each time it is needed.
Jakob Stoklund Olesen [Tue, 11 Aug 2009 06:25:12 +0000 (06:25 +0000)]
Rebuild RegScavenger::DistanceMap each time it is needed.

The register scavenger maintains a DistanceMap that maps MI pointers to their
distance from the top of the current MBB. The DistanceMap is built
incrementally in forward() and in bulk in findFirstUse(). It is used by
scavengeRegister() to determine which candidate register has the longest
unused interval.

Unfortunately the DistanceMap contents can become outdated. The first time
scavengeRegister() is called, the DistanceMap is filled to cover the MBB. If
then instructions are inserted in the MBB (as they always are following
scavengeRegister()), the recorded distances are too short. This causes bad
behaviour in the included test case where a register use /after/ the current
position is ignored because findFirstUse() thinks is is /before/ the current
position. A "using an undefined register" assertion follows promptly.

The fix is to build a fresh DistanceMap at the top of scavengeRegister(), and
discard it after use. This means that DistanceMap is no longer needed as a
RegScavenger member variable, and forward() doesn't need to update it.

The fix then discloses issue number two in the same test case: The candidate
search in scavengeRegister() finds a CSR that has been saved in the prologue,
but is currently unused. It would be both inefficient and wrong to spill such
a register in the emergency spill slot. In the present case, the emergency
slot restore is placed immediately before the normal epilogue restore, leading
to a "Redefining a live register" assertion.

Fix number two: When scavengerRegister() stumbles upon an unused register that
is overwritten later in the MBB, return that register early. It is important
to verify that the register is defined later in the MBB, otherwise it might be
an unspilled CSR.

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

15 years agoFix a -Asserts warning.
Daniel Dunbar [Tue, 11 Aug 2009 06:22:47 +0000 (06:22 +0000)]
Fix a -Asserts warning.
 - Since the function is never called in NDEBUG mode, just dropped the DEBUG()
   uses here.

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

15 years agoConvert more Neon tests to use FileCheck.
Bob Wilson [Tue, 11 Aug 2009 05:51:19 +0000 (05:51 +0000)]
Convert more Neon tests to use FileCheck.

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

15 years agoUse vAny type to get rid of Neon intrinsics that differed only in whether
Bob Wilson [Tue, 11 Aug 2009 05:39:44 +0000 (05:39 +0000)]
Use vAny type to get rid of Neon intrinsics that differed only in whether
the overloaded vector types allowed floating-point or integer vector elements.
Most of these operations actually depend on the element type, so bitcasting
was not an option.

If you include the vpadd intrinsics that I updated earlier, this gets rid
of 20 intrinsics.

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

15 years agoFix a few more places in TableGen that need to handle EVT::vAny types.
Bob Wilson [Tue, 11 Aug 2009 05:03:38 +0000 (05:03 +0000)]
Fix a few more places in TableGen that need to handle EVT::vAny types.

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

15 years agollvm-mc/X86: Parse '*' correctly (in the way the matcher expects).
Daniel Dunbar [Tue, 11 Aug 2009 05:00:25 +0000 (05:00 +0000)]
llvm-mc/X86: Parse '*' correctly (in the way the matcher expects).

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

15 years agollvm-mc: Accept .word as a synonym for .short
Daniel Dunbar [Tue, 11 Aug 2009 04:44:00 +0000 (04:44 +0000)]
llvm-mc: Accept .word as a synonym for .short

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

15 years agollvm-mc: Honor -o option (and add -f).
Daniel Dunbar [Tue, 11 Aug 2009 04:34:48 +0000 (04:34 +0000)]
llvm-mc: Honor -o option (and add -f).

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

15 years agollvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
Daniel Dunbar [Tue, 11 Aug 2009 04:24:50 +0000 (04:24 +0000)]
llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
yet (I'm not even sure what they do).

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

15 years agollvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
Daniel Dunbar [Tue, 11 Aug 2009 03:42:33 +0000 (03:42 +0000)]
llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.

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

15 years agollvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.
Daniel Dunbar [Tue, 11 Aug 2009 02:59:53 +0000 (02:59 +0000)]
llvm-mc/AsmParser: Implement automatic classification of RegisterClass operands.
 - This drops us to 123 ambiguous instructions (previously ~500) on X86.

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

15 years agoFixed more problems caused by 78142.
Sanjiv Gupta [Tue, 11 Aug 2009 01:51:55 +0000 (01:51 +0000)]
Fixed more problems caused by 78142.
Passing of indirect arguments starts after return value on the callee's frame.

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

15 years agoReplace DOUT.
David Goodwin [Tue, 11 Aug 2009 01:44:26 +0000 (01:44 +0000)]
Replace DOUT.

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

15 years agoUse new EVT::vAny type to combine Neon intrinsics for VPADD.
Bob Wilson [Tue, 11 Aug 2009 01:15:26 +0000 (01:15 +0000)]
Use new EVT::vAny type to combine Neon intrinsics for VPADD.

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

15 years agoAdd a new overloaded EVT::vAny type for use in TableGen to allow intrinsic
Bob Wilson [Tue, 11 Aug 2009 01:14:02 +0000 (01:14 +0000)]
Add a new overloaded EVT::vAny type for use in TableGen to allow intrinsic
arguments that are vectors of any size and element type.

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

15 years agoAdded the x86 INT instructions; both the special-case INT 3 and the general-case
Sean Callanan [Tue, 11 Aug 2009 01:09:06 +0000 (01:09 +0000)]
Added the x86 INT instructions; both the special-case INT 3 and the general-case
INT i8.  These instructions are only for interpretation by disassemblers, not
for emission, so they do not as yet have patterns.

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

15 years agoFix bug in NEON convert for single-precision FP. This also fixes the tblgen warnings.
David Goodwin [Tue, 11 Aug 2009 01:07:38 +0000 (01:07 +0000)]
Fix bug in NEON convert for single-precision FP. This also fixes the tblgen warnings.

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

15 years agoLay the groundwork for my upcoming ilist sentinel shrinking patch
Gabor Greif [Tue, 11 Aug 2009 00:59:39 +0000 (00:59 +0000)]
Lay the groundwork for my upcoming ilist sentinel shrinking patch
by defining a LLVM_COMPACT_SENTINELS symbol to 0 or 1 in config.h.

I'm asking for 3 favors:
- may an autofoo expert look at this and suggest improvements?
- may a cmake expert suggest analogous functionality for config.h?
- may somebody with the right autofoo mix regenerate configure? (mine is too new)

Thanks!
--This line, and those below, will be ignored--

M    configure.ac

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