Dan Gohman
fd8f55bc9e
Minor code simplification.
...
llvm-svn: 95780
2010-02-10 15:54:22 +00:00
Benjamin Kramer
0a0f0f6465
Silence GCC warnings.
...
llvm-svn: 95779
2010-02-10 13:34:02 +00:00
Daniel Dunbar
59cb3a1ca4
MC/AsmMatcher: Add support for creating tied operands when constructing MCInsts.
...
- Pretty messy, but we need to rework how we handle tied operands in MCInst
anyway.
llvm-svn: 95774
2010-02-10 08:15:48 +00:00
Chris Lattner
72dfdc8b8a
emit some simple (and probably incorrect) fixups for symbolic
...
displacement values.
llvm-svn: 95773
2010-02-10 06:52:12 +00:00
Chris Lattner
6abaa9ee3c
keep track of what the current byte being emitted is
...
throughout the X86 encoder.
llvm-svn: 95771
2010-02-10 06:41:02 +00:00
Chris Lattner
aa22470a1a
simplify displacement handling, emit displacements by-operand
...
even for the immediate case. No functionality change.
llvm-svn: 95770
2010-02-10 06:30:00 +00:00
Dan Gohman
ff8027e33a
Canonicalize sizeof and alignof on pointer types to a canonical
...
pointer type.
llvm-svn: 95769
2010-02-10 06:13:07 +00:00
Dan Gohman
2dd0d36f14
Implement operators |=, &=, and ^= for SmallBitVector, and remove the
...
restriction in BitVector for |= and ^= that the operand must be the
same length.
llvm-svn: 95768
2010-02-10 05:54:04 +00:00
Daniel Dunbar
d2035fb242
MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the
...
MCInst it came from.
llvm-svn: 95767
2010-02-10 04:47:08 +00:00
Daniel Dunbar
50b2609956
Fix a signed comparison warning.
...
llvm-svn: 95766
2010-02-10 04:46:51 +00:00
Daniel Dunbar
54d6a41882
Remove stray DOS newline.
...
llvm-svn: 95765
2010-02-10 04:10:10 +00:00
Daniel Dunbar
4e9161800a
Add a ReleaseNotes FIXME.
...
llvm-svn: 95764
2010-02-10 04:09:52 +00:00
Garrison Venn
fc41a88897
Prevented build on WINDOWS using default make system. Stopped WINDOWS build
...
at eh llvm/examples level using if check on LLVM_ON_UNIX.
llvm-svn: 95763
2010-02-10 03:38:29 +00:00
Sean Callanan
c022448a07
Updated the enhanced disassembly library's TableGen
...
backend to not use exceptions at all except in cases
of actual error.
llvm-svn: 95762
2010-02-10 03:23:23 +00:00
Garrison Venn
4857ff7ad0
Prevented ExceptionDemo example being built on WINDOWS via if( NOT WIN32 )
...
check in examples cmake list file. This has NOT been tested.
llvm-svn: 95761
2010-02-10 02:50:08 +00:00
Sean Callanan
65a17e3ac6
Updated the TableGen emitter for the Enhanced
...
Disassembler to take advantage of the refactored
AsmWriterInst.h. Note removed parser code.
llvm-svn: 95760
2010-02-10 02:47:08 +00:00
Sean Callanan
d21eecd9a2
Changed AsmWriterOperand to also include the index of the
...
operand into the CodeGenInstruction's list of operands,
which is useful for EDEmitter. (Still working on PR6219)
llvm-svn: 95759
2010-02-10 02:27:43 +00:00
Evan Cheng
8bee7fb61d
Now that ShrinkDemandedOps() is separated out from DAG combine. It sometimes leave some obvious nops which dag combine used to clean up afterwards e.g. (trunk (ext n)) -> n. Look for them and squash them.
...
llvm-svn: 95757
2010-02-10 02:17:34 +00:00
Chris Lattner
aed1ea28cf
"fixup" a comment.
...
llvm-svn: 95754
2010-02-10 01:46:47 +00:00
Chris Lattner
bd21fff65c
Introduce a new CodeGenInstruction::ConstraintInfo class
...
for representing constraint info semantically instead of
as a c expression that will be blatted out to the .inc
file. Fix X86RecognizableInstr to use this instead of
parsing C code :).
llvm-svn: 95753
2010-02-10 01:45:28 +00:00
Daniel Dunbar
75df429af0
llvm-mc: Remove --show-fixups and always show as part of --show-encoding.
...
Also, fix a silly memory leak.
llvm-svn: 95752
2010-02-10 01:41:14 +00:00
Dale Johannesen
12262a957f
Rewrite loop to suit Chris' preference.
...
llvm-svn: 95749
2010-02-10 01:31:26 +00:00
Chris Lattner
72156036b9
fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.
...
llvm-svn: 95748
2010-02-10 01:23:18 +00:00
Evan Cheng
e0e620c006
Remove duplicated #include.
...
llvm-svn: 95747
2010-02-10 01:22:57 +00:00
Evan Cheng
8c2662f96a
Emit an error for illegal inline asm constraint (which uses illegal type) rather than asserting.
...
llvm-svn: 95746
2010-02-10 01:21:02 +00:00
Chris Lattner
750bf54fc6
fix missing #includes.
...
llvm-svn: 95745
2010-02-10 01:17:36 +00:00
Chris Lattner
477ce1773c
daniel *really* likes fixups!
...
llvm-svn: 95742
2010-02-10 01:05:28 +00:00
Chris Lattner
70fd490fa2
Stop MachineInstr.h from #including AsmPrinter.h
...
llvm-svn: 95741
2010-02-10 01:04:16 +00:00
Bill Wendling
270a5c4426
Improve comments a even more.
...
llvm-svn: 95740
2010-02-10 00:59:47 +00:00
Dale Johannesen
9b0d228b5f
Skip DBG_VALUE many places in live intervals and
...
register coalescing. This fixes many crashes and
places where debug info affects codegen (when
dbg.value is lowered to machine instructions, which
it isn't yet in TOT).
llvm-svn: 95739
2010-02-10 00:55:42 +00:00
Chris Lattner
db4b4d819d
Move verbose asm instruction comments to using MCStreamer.
...
The major win of this is that the code is simpler and they
print on the same line as the instruction again:
movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86
llvm-svn: 95738
2010-02-10 00:47:53 +00:00
Bill Wendling
076bf7e91c
Improve comments a bit more.
...
llvm-svn: 95737
2010-02-10 00:45:28 +00:00
Dale Johannesen
da728faa59
more comment updates
...
llvm-svn: 95736
2010-02-10 00:44:23 +00:00
Dale Johannesen
59679b7966
Add isDebug argument to ChangeToRegister; this prevents
...
the field from being used uninitialized later in some cases.
llvm-svn: 95735
2010-02-10 00:41:49 +00:00
Chris Lattner
6d7856867a
print all the newlines at the end of instructions with
...
OutStreamer.AddBlankLine instead of textually.
llvm-svn: 95734
2010-02-10 00:36:00 +00:00
Kenneth Uildriks
d9026b3fa4
IntegerValType holds a uint32_t, so its constructor should take a uint32_t. This allows it to be properly initialized with bit widths > 65535
...
llvm-svn: 95731
2010-02-10 00:14:03 +00:00
Dale Johannesen
c9f253214e
Fix comments to reflect renaming elsewhere.
...
llvm-svn: 95730
2010-02-10 00:11:11 +00:00
Kevin Enderby
f31bc700f1
Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66
...
prefix which is part of the opcode encoding.
llvm-svn: 95729
2010-02-10 00:10:31 +00:00
Chris Lattner
ca01d26903
Add ability for MCInstPrinters to add comments for instructions.
...
Enhance the x86 backend to show the hex values of immediates in
comments when they are large. For example:
movl $1072693248, 4(%esp) ## imm = 0x3FF00000
llvm-svn: 95728
2010-02-10 00:10:18 +00:00
David Greene
bb211816b6
TableGen fragment refactoring.
...
Move some utility TableGen defs, classes, etc. into a common file so
they may be used my multiple pattern files. We will use this for
the AVX specification to help with the transition from the current
SSE specification.
llvm-svn: 95727
2010-02-09 23:52:19 +00:00
Garrison Venn
bb6a6a6a47
Adds a JIT based exception handling example to the examples directory.
...
Both zero cost example domain specific, and C++ foreign exception handling are
shown. The example's documentation fully explains how to run the example.
Notes:
1) The code uses an extremely simple type info model.
2) Only a single landing pad is used per unwind edge
(one call to llvm.eh.selector)
3) llvm.eh.selector support for filter arguments is not given.
4) llvm.eh.typeid.for is not used.
5) Forced unwind behavior is not supported.
6) Very little if any error handling is given.
7) __attribute__((__aligned__)) is used.
8) The code uses parts from the llvm compiler-rt project and
the llvm Kaleidoscope example.
9) The code has not been ported or tested on WINDOWS.
10) The code was not tested with a cmake build.
11) The code was tested for a debug build on 32bit X86 CentOS LINUX,
and both a debug and release build on OS X 10.6.2 (64bit).
llvm-svn: 95723
2010-02-09 23:22:43 +00:00
Sean Callanan
c1249e600e
Fixed some indentation in the AsmWriterInst
...
implementation. Also changed the constructor
so that it does not require a Record, making it
usable by the EDEmitter.
llvm-svn: 95715
2010-02-09 23:06:35 +00:00
Johnny Chen
1f609fe5fd
Add VBIF/VBIT for disassembly only.
...
A8.6.279
llvm-svn: 95713
2010-02-09 23:05:23 +00:00
Jeffrey Yasskin
f7833b76ca
Make --disable-libffi work on systems with libffi installed. Also
...
make no-ffi the default even on systems with libffi. This fixes
http://llvm.org/PR5018 .
llvm-svn: 95712
2010-02-09 23:03:44 +00:00
David Greene
d2c34ce826
Only dump output in debug mode.
...
llvm-svn: 95711
2010-02-09 23:03:05 +00:00
Daniel Dunbar
1b050afd4e
llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.
...
llvm-svn: 95710
2010-02-09 23:00:14 +00:00
Daniel Dunbar
75c5ab93a0
MC/X86: Add a dummy implementation of MCFixup generation for hacky X86 MCCodeEmitter.
...
llvm-svn: 95709
2010-02-09 23:00:03 +00:00
Daniel Dunbar
ddfda89472
MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.
...
llvm-svn: 95708
2010-02-09 22:59:55 +00:00
Bill Wendling
fe743bc4d0
Improve comments in the LSDA somewhat. They can be improved much more.
...
llvm-svn: 95707
2010-02-09 22:49:16 +00:00
Johnny Chen
15da54da55
Added VMRS/VMSR for disassembly only.
...
A8.6.335 & A8.6.336
llvm-svn: 95703
2010-02-09 22:35:38 +00:00