Daniel Dunbar
ec2e96e628
llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')
...
We now match all of 403.gcc (as emitted by clang). :)
llvm-svn: 78750
2009-08-11 23:23:44 +00:00
Chris Lattner
0624ad99f0
prune #include
...
llvm-svn: 78749
2009-08-11 23:07:27 +00:00
Chris Lattner
70cdd11e1c
prune #includage.
...
llvm-svn: 78748
2009-08-11 23:06:16 +00:00
Chris Lattner
57aca57c35
fix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742
...
llvm-svn: 78747
2009-08-11 23:03:40 +00:00
Chris Lattner
c2a229453e
change the -x86-asm-syntax=intel/att flag to be in X86TAI
...
instead of X86 Subtarget. This elimianates dependencies on
X86Subtarget from X86TAI.
llvm-svn: 78746
2009-08-11 23:01:09 +00:00
Evan Cheng
a29ee9f509
Shrinkify Thumb2 r = add sp, imm.
...
llvm-svn: 78745
2009-08-11 23:00:31 +00:00
Chris Lattner
d45aa1bcf1
second half of commit.
...
llvm-svn: 78744
2009-08-11 22:52:15 +00:00
Chris Lattner
dfc686541d
pass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.
...
llvm-svn: 78743
2009-08-11 22:51:34 +00:00
Chris Lattner
0ff895cd83
eliminate asmflavor from subtarget, PPCTAI is the only client
...
and each callee knows that it returns.
llvm-svn: 78742
2009-08-11 22:49:34 +00:00
Chris Lattner
a74023896f
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.
llvm-svn: 78737
2009-08-11 22:39:40 +00:00
David Goodwin
2686178489
Allow a zero cycle stage to reserve/require a FU without advancing the cycle counter.
...
llvm-svn: 78736
2009-08-11 22:38:43 +00:00
Chris Lattner
f27d5f6662
factorize more darwin TAI stuff. Note that this gives
...
darwin/arm support for .no_dead_strip
llvm-svn: 78734
2009-08-11 22:31:42 +00:00
Daniel Dunbar
514498ccec
X86/AsmParser: Mark MOV64GSrm, MOV64FSrm, GS_MOV32rm, FS_MOV32rm as codegen only.
...
llvm-svn: 78733
2009-08-11 22:24:40 +00:00
Chris Lattner
7015f75b6a
factorize darwin ProtectedDirective and SetDirective.
...
llvm-svn: 78732
2009-08-11 22:22:44 +00:00
Daniel Dunbar
63f93255ae
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.
llvm-svn: 78731
2009-08-11 22:17:52 +00:00
Chris Lattner
bf7a1a3e38
all darwin targets have .space and .zerofill, pull up.
...
llvm-svn: 78730
2009-08-11 22:17:31 +00:00
Chris Lattner
44a2fda8c1
eliminate template from arm TAI
...
llvm-svn: 78729
2009-08-11 22:14:59 +00:00
Chris Lattner
b460bd4895
fix a bug I introduced in r78724 that caused failures in:
...
CodeGen/X86/dll-linkage.ll & CodeGen/X86/mingw-alloca.ll
llvm-svn: 78728
2009-08-11 22:12:58 +00:00
Chris Lattner
8c7eb509d3
move LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminate
...
template in PPC backend for TAI.
llvm-svn: 78727
2009-08-11 22:06:07 +00:00
Owen Anderson
75ebfc8728
Fix warnings.
...
llvm-svn: 78725
2009-08-11 21:59:30 +00:00
Chris Lattner
05bde58b5e
eliminate the X86TargetAsmInfo template.
...
llvm-svn: 78724
2009-08-11 21:57:08 +00:00
Sean Callanan
b2288f269b
Added ADD instructions with rAX as one parameter to the Intel instruction
...
tables.
llvm-svn: 78721
2009-08-11 21:26:06 +00:00
Evan Cheng
783028063e
Shrinkify Thumb2 load / store multiple instructions.
...
llvm-svn: 78717
2009-08-11 21:11:32 +00:00
Daniel Dunbar
186ba504b3
llvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
...
used to strip hard coded comments out of .td assembly strings.
llvm-svn: 78716
2009-08-11 20:59:47 +00:00
Owen Anderson
e3b5c648eb
struct -> class
...
llvm-svn: 78715
2009-08-11 20:52:44 +00:00
Dan Gohman
8d69df5773
Optimize exact sdiv by a constant power of 2 to ashr.
...
llvm-svn: 78714
2009-08-11 20:47:47 +00:00
Owen Anderson
48f2f0ae72
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.
llvm-svn: 78713
2009-08-11 20:47:22 +00:00
Daniel Dunbar
f4e8af6ecc
StringRef: Add find(char) and find(StringRef).
...
Also, regroup functions.
llvm-svn: 78712
2009-08-11 20:47:15 +00:00
Chris Lattner
30d9c39337
pass the TargetTriple down from each target ctor to the
...
LLVMTargetMachine ctor. It is currently unused.
llvm-svn: 78711
2009-08-11 20:42:37 +00:00
Chris Lattner
40af6d5199
now that JumpTableDirective can differentate picness itself, MIPS TAI
...
no longer needs a targetmachine to initialize itself.
llvm-svn: 78710
2009-08-11 20:32:51 +00:00
Chris Lattner
45bdc96988
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.
llvm-svn: 78709
2009-08-11 20:30:58 +00:00
Chris Lattner
0cb77e23a9
"TAI::JumpTableDirective" is always null for current arm targets, simplify
...
the code based on this and make it fall through better.
llvm-svn: 78708
2009-08-11 20:29:57 +00:00
Dan Gohman
b0c54f532c
Add convenience functions for creating nsw add operators.
...
llvm-svn: 78707
2009-08-11 20:20:39 +00:00
Daniel Dunbar
4ba593dd3b
llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
...
related.
llvm-svn: 78706
2009-08-11 20:10:07 +00:00
Dan Gohman
1bb5c6c93a
Use wchar.h to get wchar_t, not ctype.h.
...
llvm-svn: 78703
2009-08-11 19:59:21 +00:00
Dan Gohman
76887b6f2b
Don't set the isexact flag if an sdiv operator has been folded into
...
something else.
llvm-svn: 78702
2009-08-11 19:56:00 +00:00
Jim Grosbach
67841ae0a8
Add Thumb2 eh_sjlj_setjmp implementation
...
llvm-svn: 78701
2009-08-11 19:42:21 +00:00
Daniel Dunbar
490f80eb1c
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).
llvm-svn: 78698
2009-08-11 18:28:09 +00:00
Daniel Dunbar
952aa01cb9
Revert 78680 until I figure out why it completely broke things.
...
llvm-svn: 78697
2009-08-11 18:11:15 +00:00
Devang Patel
df6d338da2
Link NamedMDNodes.
...
llvm-svn: 78696
2009-08-11 18:01:24 +00:00
Dan Gohman
aed57ee5b0
Add convenience functions for creating inbounds GEPs.
...
llvm-svn: 78695
2009-08-11 17:57:01 +00:00
David Goodwin
539e2b4d86
Use DEBUG macro for debug output.
...
llvm-svn: 78694
2009-08-11 17:56:42 +00:00
Chris Lattner
be69fa08b6
add a trivial line # cache to SourceMgr to make repeated queries to
...
FindLineNumber much faster when in sequence.
llvm-svn: 78693
2009-08-11 17:49:14 +00:00
Daniel Dunbar
d4f20f9186
llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
...
evaluation.
llvm-svn: 78692
2009-08-11 17:47:52 +00:00
Benjamin Kramer
9a590500ea
Make LLVMContext and LLVMContextImpl classes instead of structs.
...
llvm-svn: 78690
2009-08-11 17:45:13 +00:00
Daniel Dunbar
92bda7b2e0
Remove some unnecessary LoadInst constructors, missed during Twinification.
...
llvm-svn: 78689
2009-08-11 17:38:47 +00:00
Chris Lattner
8d7c0ec32a
make owen happy by being explicit.
...
llvm-svn: 78688
2009-08-11 17:38:15 +00:00
David Goodwin
2930c2c870
Add some debug output.
...
llvm-svn: 78687
2009-08-11 17:35:23 +00:00
Benjamin Kramer
15a20278ff
Fix struct/class mismatch.
...
llvm-svn: 78686
2009-08-11 17:27:20 +00:00
Dan Gohman
cf73a006f0
Use isa instead of dyn_cast when the result is only converted to bool.
...
llvm-svn: 78685
2009-08-11 17:20:16 +00:00