Chris Lattner
620713c5b4
simplify this by using SmallString::str(), much nicer!
...
llvm-svn: 80874
2009-09-03 03:54:02 +00:00
Sean Callanan
f400442927
Added opaque 32-, 48-, and 80-bit memory operand types to the X86
...
instruction tables to support segmented addressing (and other objects
of obscure type).
Modified the X86 assembly printers to handle these new operand types.
Added JMP and CALL instructions that use segmented addresses.
llvm-svn: 80857
2009-09-03 00:04:47 +00:00
Anton Korobeynikov
f0da41c3e4
More missed vdup patterns
...
llvm-svn: 80838
2009-09-02 21:21:28 +00:00
Chris Lattner
7bd37b47c8
switch from std::string to SmallString + raw_svector_ostream.
...
llvm-svn: 80807
2009-09-02 17:37:38 +00:00
Chris Lattner
74f4ca7cb2
split mcinst lowering stuff out to its own file.
...
llvm-svn: 80806
2009-09-02 17:35:12 +00:00
Sandeep Patel
68c5f477fa
Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.
...
llvm-svn: 80773
2009-09-02 08:44:58 +00:00
Chris Lattner
d5f4fcceae
refactor select 'sched insertion' out to its own method.
...
llvm-svn: 80764
2009-09-02 05:57:00 +00:00
Chris Lattner
cc8c581a5b
Add support for modeling whether or not the processor has support for
...
conditional moves as a subtarget feature. This is the easy part of
PR4841.
llvm-svn: 80763
2009-09-02 05:53:04 +00:00
Sean Callanan
a8ee2e7496
Fixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions.
...
Added a 64-bit ADD %RAX, imm32 instruction.
Added all 4 forms for AND %rAX, imm and CMP %rAX, imm.
llvm-svn: 80746
2009-09-02 00:55:49 +00:00
Daniel Dunbar
ff0e622d1c
Simplify.
...
llvm-svn: 80729
2009-09-01 22:07:06 +00:00
Daniel Dunbar
9ab9e0aa25
Fix what I believe is a copy-n-pasto introduced in r78129.
...
- Bruno, please check!!
llvm-svn: 80728
2009-09-01 22:07:00 +00:00
Daniel Dunbar
6c3843866c
X86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency).
...
llvm-svn: 80727
2009-09-01 22:06:53 +00:00
Daniel Dunbar
f7a14aa43d
Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least).
...
llvm-svn: 80726
2009-09-01 22:06:46 +00:00
Jim Grosbach
e4459e466f
reduce size of SmallString to something more reasonable
...
llvm-svn: 80710
2009-09-01 18:55:08 +00:00
Bob Wilson
d7797754d4
Add support for generating code for vst{234}lane intrinsics.
...
llvm-svn: 80707
2009-09-01 18:51:56 +00:00
Jim Grosbach
c5fcbdc7ee
Use raw_ostream instead of sstream
...
llvm-svn: 80704
2009-09-01 18:49:12 +00:00
David Goodwin
5f582b7290
RRX reads CPSR.
...
llvm-svn: 80699
2009-09-01 18:32:09 +00:00
Sean Callanan
09b2e51711
Added TEST %rAX, $imm instructions to the Intel tables. These are required for the X86 disassembler.
...
llvm-svn: 80696
2009-09-01 18:14:18 +00:00
Bruno Cardoso Lopes
0f20a5b338
Reapply 80278
...
Add MO flags to simplify the printing of relocations.
Remove the support for printing large code model relocs (which
aren't supported anyway).
llvm-svn: 80691
2009-09-01 17:27:58 +00:00
Sanjiv Gupta
a19e971f0c
Further refactoring of PIC16 Obj file code.
...
llvm-svn: 80670
2009-09-01 10:47:31 +00:00
Bob Wilson
da9817cddd
Generate code for vld{234}_lane intrinsics.
...
llvm-svn: 80656
2009-09-01 04:26:28 +00:00
Jim Grosbach
345a5ae6e4
Fix compiler warnings
...
llvm-svn: 80650
2009-09-01 02:05:03 +00:00
Jim Grosbach
20eac92d88
Clean up LSDA name generation and use for SJLJ exception handling. This
...
makes an eggregious hack somewhat more palatable. Bringing the LSDA forward
and making it a GV available for reference would be even better, but is
beyond the scope of what I'm looking to solve at this point.
Objective C++ code could generate function names that broke the previous
scheme. This fixes that.
llvm-svn: 80649
2009-09-01 01:57:56 +00:00
Evan Cheng
4f835f1d7d
Remove .n suffix for some 16-bit opcodes now that Darwin assembler is fixed.
...
llvm-svn: 80615
2009-08-31 20:14:07 +00:00
Daniel Dunbar
b0215efc45
X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.
...
- Down to 7 failures on 403.gcc.
llvm-svn: 80605
2009-08-31 19:14:05 +00:00
Daniel Dunbar
443f849b6b
Stop printing old asm printing code inline with -experimental-asm-printer (this allows diffing and assembling the .s)
...
llvm-svn: 80604
2009-08-31 19:13:56 +00:00
Daniel Dunbar
524630915d
Avoid unnecessary +0 in experimental-asm-printer.
...
llvm-svn: 80603
2009-08-31 19:13:47 +00:00
Devang Patel
9fda4bd998
Simplify isDerivedType() and other predicate interface.
...
llvm-svn: 80602
2009-08-31 18:49:10 +00:00
Duncan Sands
9cf8bcb69d
Revert commit 80428. It completely broke exception
...
handling on x86-32 linux.
llvm-svn: 80592
2009-08-31 16:45:16 +00:00
Benjamin Kramer
3c62f5095a
Normalize makefile comments and sort cmake file lists.
...
llvm-svn: 80584
2009-08-31 13:05:24 +00:00
Daniel Dunbar
73da11ebda
llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.
...
Also, use MCInst::print instead of custom code in MCAsmPrinter.
llvm-svn: 80575
2009-08-31 08:08:38 +00:00
Anton Korobeynikov
3681144bd8
Add missed pattern
...
llvm-svn: 80502
2009-08-30 19:06:39 +00:00
Anton Korobeynikov
eab572a8ff
EXTRACT_VECTOR_ELEMENT can have result type different from element type.
...
Remove the assertion and generalize the code for ARM NEON stuff.
llvm-svn: 80498
2009-08-30 17:14:54 +00:00
Daniel Dunbar
6e8b1a2530
llvm-mc/X86: Encode constant MCValue's correctly.
...
llvm-svn: 80485
2009-08-30 06:17:49 +00:00
Dan Gohman
ca73326f56
CMOV_GR8 clobbers EFLAGS when its expansion involves an xor to set
...
a register to 0. This fixes PR4814.
llvm-svn: 80445
2009-08-29 22:19:15 +00:00
Bill Wendling
39bb29f7fe
- Add target lowering methods to get the preferred format for the FDE and LSDA
...
encodings.
- Make some of the values emitted by the FDEs dependent upon the pointer
size. This is in line with how GCC does things. And it has the benefit of
working for Darwin in 64-bit mode now.
llvm-svn: 80428
2009-08-29 12:20:54 +00:00
Anton Korobeynikov
ece642a54c
Do not assert on too wide splats we don't support.
...
llvm-svn: 80409
2009-08-29 00:08:18 +00:00
Anton Korobeynikov
cd41d07f29
Add missed extract_element pattern
...
llvm-svn: 80408
2009-08-28 23:41:26 +00:00
Devang Patel
80ae34974b
Reapply 79977.
...
Use MDNodes to encode debug info in llvm IR.
llvm-svn: 80406
2009-08-28 23:24:31 +00:00
Evan Cheng
43b9ca6f42
Let Darwin linker auto-synthesize stubs and lazy-pointers. This deletes a bunch of nasty code in ARM asm printer.
...
llvm-svn: 80404
2009-08-28 23:18:09 +00:00
Anton Korobeynikov
f43ab91486
Short-term workaround for frame-related weirdness on win64.
...
Some other minor win64 fixes as well.
Patch by Michael Beck!
llvm-svn: 80370
2009-08-28 16:06:41 +00:00
Daniel Dunbar
3033db2448
Fix -Asserts warning, round two.
...
llvm-svn: 80354
2009-08-28 08:08:22 +00:00
Evan Cheng
4047b53a40
Print a nl before pic labels so they start at a new line. This makes assembly more readable.
...
llvm-svn: 80350
2009-08-28 06:59:37 +00:00
Daniel Dunbar
d46e3466e7
Fix -Asserts warning.
...
llvm-svn: 80338
2009-08-28 05:47:56 +00:00
Evan Cheng
6da267de23
v4, v5 does not support sxtb / sxth.
...
llvm-svn: 80322
2009-08-28 00:31:43 +00:00
Bruno Cardoso Lopes
e91191630b
Revert 80278 for now, it caused a lot of MIPS tests to fail
...
llvm-svn: 80280
2009-08-27 19:57:56 +00:00
Bruno Cardoso Lopes
18c21daafb
Revamp our friend Mips :)
...
Add MO flags to simplify the printing of relocations.
Remove the support for printing large code model relocs (which
aren't supported anyway).
llvm-svn: 80278
2009-08-27 19:40:40 +00:00
Dan Gohman
931ec72ebf
Don't mark CMOV_GR8 as two-address, or commutable, since it's a pseudo.
...
llvm-svn: 80271
2009-08-27 18:16:24 +00:00
Eric Christopher
69baa5139b
Add FIXME for when we support more specific XMM registers.
...
llvm-svn: 80269
2009-08-27 18:08:16 +00:00
Eric Christopher
799c92bcfb
Nuke trailing whitespace.
...
llvm-svn: 80268
2009-08-27 18:07:15 +00:00