Kevin Enderby [Thu, 11 Feb 2010 00:18:12 +0000 (00:18 +0000)]
Remove the few # TAILCALL comments that snuck in. As they may fail on linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95827
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Thu, 11 Feb 2010 00:13:43 +0000 (00:13 +0000)]
Update the X86 assembler matcher test case now that a few more things match
with some of the recent changes that have gone into llvm-mc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95826
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 23:58:53 +0000 (23:58 +0000)]
Add support to llvm-extract for extracting multiple functions and/or
multiple global variables at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95825
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Wed, 10 Feb 2010 23:37:45 +0000 (23:37 +0000)]
The previous fix of widening divides that trap was too fragile as it depends on custom
lowering and requires that certain types exist in ValueTypes.h. Modified widening to
check if an op can trap and if so, the widening algorithm will apply only the op on
the defined elements. It is safer to do this in widening because the optimizer can't
guarantee removing unused ops in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95823
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 23:04:09 +0000 (23:04 +0000)]
Ignore debug info one more place during coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95819
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 23:03:20 +0000 (23:03 +0000)]
Allow isDebug inquiry on any MO.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95818
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 10 Feb 2010 22:58:57 +0000 (22:58 +0000)]
Delete dead PHI machine instructions. These can be created due to type
legalization even when the IR-level optimizer has removed dead phis, such
as when the high half of an i64 value is unused on a 32-bit target.
I had to adjust a few test cases that had dead phis.
This is a partial fix for Radar
7627077.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95816
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 21:47:48 +0000 (21:47 +0000)]
Skip debug info in a couple of places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95814
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 10 Feb 2010 21:41:57 +0000 (21:41 +0000)]
Use an index instead of pointers into the vector. If the vector resizes, then
the pointer values could be invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95813
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 21:41:41 +0000 (21:41 +0000)]
When I rewrote this loop per Chris' preference I
changed its behavior. Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95811
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 21:37:31 +0000 (21:37 +0000)]
add a virtual dtor to MCTargetExpr, hopefully silencing some warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95810
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 10 Feb 2010 21:26:04 +0000 (21:26 +0000)]
A few missed optimizations; the last one could have a significant impact on
code with lots of bitfields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95809
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 21:22:51 +0000 (21:22 +0000)]
work around a gcc bug with -Wuninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95808
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 10 Feb 2010 21:19:56 +0000 (21:19 +0000)]
Strip new llvm.dbg.value intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95807
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 21:19:28 +0000 (21:19 +0000)]
MC/X86 AsmMatcher: Fix a use after free spotted by d0k, and de-XFAIL
x86_32-encoding.s in on expectation of it passing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95806
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 21:01:04 +0000 (21:01 +0000)]
XFAIL this on linux until I figure out what is happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95804
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 21:00:55 +0000 (21:00 +0000)]
lit: Ignore dot files when scanning for tests (e.g., editor temprary files,
etc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95803
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 21:00:47 +0000 (21:00 +0000)]
MC/AsmMatcher: Tweak conversion function name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95802
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 20:42:57 +0000 (20:42 +0000)]
Minor whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95801
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 20:42:37 +0000 (20:42 +0000)]
Use an AssemblyAnnotatorWriter to clean up IVUsers' debug output.
The "uses=" comments are just clutter in this context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95799
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 20:41:46 +0000 (20:41 +0000)]
Add a hook to AssemblyAnnotationWriter to allow custom info comments
to be printed, in place of the familiar "uses=" comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95798
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 20:23:33 +0000 (20:23 +0000)]
Use doxygen comment syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95797
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 20:04:19 +0000 (20:04 +0000)]
Fix several comments which had previously been "the the" where a
different word was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95795
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 10 Feb 2010 19:13:56 +0000 (19:13 +0000)]
Replace this file containing 4 tests of x86 32-bit encodings with a file
containing the subset of the full auto generated test case that currently
encodes correctly. Again it is useful as we bring up the the new encoder
to make sure currently working stuff stays working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95791
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 10 Feb 2010 18:02:25 +0000 (18:02 +0000)]
Added NOP, DBG, SVC to the instruction table for disassembly purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95784
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 16:03:48 +0000 (16:03 +0000)]
Fix "the the" and similar typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 15:54:22 +0000 (15:54 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95780
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 10 Feb 2010 13:34:02 +0000 (13:34 +0000)]
Silence GCC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95779
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 08:15:48 +0000 (08:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 06:52:12 +0000 (06:52 +0000)]
emit some simple (and probably incorrect) fixups for symbolic
displacement values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95773
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 06:41:02 +0000 (06:41 +0000)]
keep track of what the current byte being emitted is
throughout the X86 encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 06:30:00 +0000 (06:30 +0000)]
simplify displacement handling, emit displacements by-operand
even for the immediate case. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95770
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 06:13:07 +0000 (06:13 +0000)]
Canonicalize sizeof and alignof on pointer types to a canonical
pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95769
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Feb 2010 05:54:04 +0000 (05:54 +0000)]
Implement operators |=, &=, and ^= for SmallBitVector, and remove the
restriction in BitVector for |= and ^= that the operand must be the
same length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95768
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 04:47:08 +0000 (04:47 +0000)]
MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the
MCInst it came from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95767
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 04:46:51 +0000 (04:46 +0000)]
Fix a signed comparison warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95766
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 04:10:10 +0000 (04:10 +0000)]
Remove stray DOS newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95765
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 04:09:52 +0000 (04:09 +0000)]
Add a ReleaseNotes FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95764
91177308-0d34-0410-b5e6-
96231b3b80d8
Garrison Venn [Wed, 10 Feb 2010 03:38:29 +0000 (03:38 +0000)]
Prevented build on WINDOWS using default make system. Stopped WINDOWS build
at eh llvm/examples level using if check on LLVM_ON_UNIX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95763
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 10 Feb 2010 03:23:23 +0000 (03:23 +0000)]
Updated the enhanced disassembly library's TableGen
backend to not use exceptions at all except in cases
of actual error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95762
91177308-0d34-0410-b5e6-
96231b3b80d8
Garrison Venn [Wed, 10 Feb 2010 02:50:08 +0000 (02:50 +0000)]
Prevented ExceptionDemo example being built on WINDOWS via if( NOT WIN32 )
check in examples cmake list file. This has NOT been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95761
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 10 Feb 2010 02:47:08 +0000 (02:47 +0000)]
Updated the TableGen emitter for the Enhanced
Disassembler to take advantage of the refactored
AsmWriterInst.h. Note removed parser code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95760
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Wed, 10 Feb 2010 02:27:43 +0000 (02:27 +0000)]
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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95759
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 10 Feb 2010 02:17:34 +0000 (02:17 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95757
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:46:47 +0000 (01:46 +0000)]
"fixup" a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:45:28 +0000 (01:45 +0000)]
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 :).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95753
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 10 Feb 2010 01:41:14 +0000 (01:41 +0000)]
llvm-mc: Remove --show-fixups and always show as part of --show-encoding.
Also, fix a silly memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95752
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 01:31:26 +0000 (01:31 +0000)]
Rewrite loop to suit Chris' preference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:23:18 +0000 (01:23 +0000)]
fix a layering violation: VirtRegRewriter.cpp shouldn't use AsmPrinter.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95748
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 10 Feb 2010 01:22:57 +0000 (01:22 +0000)]
Remove duplicated #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95747
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 10 Feb 2010 01:21:02 +0000 (01:21 +0000)]
Emit an error for illegal inline asm constraint (which uses illegal type) rather than asserting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95746
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:17:36 +0000 (01:17 +0000)]
fix missing #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95745
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:05:28 +0000 (01:05 +0000)]
daniel *really* likes fixups!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 01:04:16 +0000 (01:04 +0000)]
Stop MachineInstr.h from #including AsmPrinter.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95741
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 10 Feb 2010 00:59:47 +0000 (00:59 +0000)]
Improve comments a even more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95740
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 00:55:42 +0000 (00:55 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 00:47:53 +0000 (00:47 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95738
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 10 Feb 2010 00:45:28 +0000 (00:45 +0000)]
Improve comments a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95737
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 00:44:23 +0000 (00:44 +0000)]
more comment updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95736
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 00:41:49 +0000 (00:41 +0000)]
Add isDebug argument to ChangeToRegister; this prevents
the field from being used uninitialized later in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 00:36:00 +0000 (00:36 +0000)]
print all the newlines at the end of instructions with
OutStreamer.AddBlankLine instead of textually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95734
91177308-0d34-0410-b5e6-
96231b3b80d8
Kenneth Uildriks [Wed, 10 Feb 2010 00:14:03 +0000 (00:14 +0000)]
IntegerValType holds a uint32_t, so its constructor should take a uint32_t. This allows it to be properly initialized with bit widths > 65535
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95731
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 10 Feb 2010 00:11:11 +0000 (00:11 +0000)]
Fix comments to reflect renaming elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95730
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 10 Feb 2010 00:10:31 +0000 (00:10 +0000)]
Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66
prefix which is part of the opcode encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 10 Feb 2010 00:10:18 +0000 (00:10 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95728
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 9 Feb 2010 23:52:19 +0000 (23:52 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95727
91177308-0d34-0410-b5e6-
96231b3b80d8
Garrison Venn [Tue, 9 Feb 2010 23:22:43 +0000 (23:22 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95723
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Tue, 9 Feb 2010 23:06:35 +0000 (23:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95715
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 9 Feb 2010 23:05:23 +0000 (23:05 +0000)]
Add VBIF/VBIT for disassembly only.
A8.6.279
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95713
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 9 Feb 2010 23:03:44 +0000 (23:03 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95712
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 9 Feb 2010 23:03:05 +0000 (23:03 +0000)]
Only dump output in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95711
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 9 Feb 2010 23:00:14 +0000 (23:00 +0000)]
llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95710
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 9 Feb 2010 23:00:03 +0000 (23:00 +0000)]
MC/X86: Add a dummy implementation of MCFixup generation for hacky X86 MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95709
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 9 Feb 2010 22:59:55 +0000 (22:59 +0000)]
MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 9 Feb 2010 22:49:16 +0000 (22:49 +0000)]
Improve comments in the LSDA somewhat. They can be improved much more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95707
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 9 Feb 2010 22:35:38 +0000 (22:35 +0000)]
Added VMRS/VMSR for disassembly only.
A8.6.335 & A8.6.336
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95703
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Tue, 9 Feb 2010 22:29:16 +0000 (22:29 +0000)]
Added AsmWriterInst.cpp to the CMakeList so that
it builds OK on Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95702
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 9 Feb 2010 22:15:27 +0000 (22:15 +0000)]
Disable unittests/ADT/BitVectorTest on PPC Darwin.
It fails with a release build only, for reasons
as yet unknown. (If there's a better way to Xfail
things here let me know, doesn't seem to be any
prior art in unittests.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 21:57:34 +0000 (21:57 +0000)]
port encoder enhancements over to the new encoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95699
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Tue, 9 Feb 2010 21:50:41 +0000 (21:50 +0000)]
Per PR 6219, factored AsmWriterInst and AsmWriterOperand
out of the AsmWriterEmitter. This patch does the physical
code movement, but leaves the implementation unchanged. I'll
make any changes necessary to generalize the code in a
separate patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 21:47:19 +0000 (21:47 +0000)]
fix X86 encoder to output [disp] only addresses with no SIB byte
in X86-32 mode. This is still required in x86-64 mode to avoid
forming [disp+rip] encoding. Rewrite the SIB byte decision logic
to be actually understandable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95693
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 9 Feb 2010 21:24:27 +0000 (21:24 +0000)]
Move Intrinsic::objectsize lowering back to InstCombineCalls and
enable constant 0 offset lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 21:21:26 +0000 (21:21 +0000)]
revert r95689: getX86RegNum(BaseReg) != N86::ESP is
a confusing idiom to check for ESP or RSP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95690
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 21:00:12 +0000 (21:00 +0000)]
simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95689
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 9 Feb 2010 19:54:29 +0000 (19:54 +0000)]
Re-disable for Darwin; I was mistaken to think this was fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95688
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 19:54:29 +0000 (19:54 +0000)]
move target-independent opcodes out of TargetInstrInfo
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 9 Feb 2010 19:51:37 +0000 (19:51 +0000)]
Radar
7417921
tMOVCCi pattern only valid for low registers, as the Thumb1 mov immediate to
register instruction only works with low registers. Allowing high registers
for the instruction resulted in the assembler choosing the wide (32-bit)
encoding for the mov, but LLVM though the instruction was only 16 bits wide,
so offset calculations for constant pools became incorrect, leading to
out of range constant pool entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95686
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 9 Feb 2010 19:07:19 +0000 (19:07 +0000)]
Add support for TypeBuilder<const/volatile void*, false>.
Thanks to Jochen Wilhelmy for the suggestion!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95677
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 9 Feb 2010 17:29:18 +0000 (17:29 +0000)]
Pull these back out, they're a little too aggressive and time
consuming for a simple optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95671
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 9 Feb 2010 17:24:21 +0000 (17:24 +0000)]
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95670
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 9 Feb 2010 17:21:56 +0000 (17:21 +0000)]
Added vcvtb/vcvtt (between half-precision and single-precision, VFP).
For disassembly only.
A8.6.300
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95669
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 9 Feb 2010 17:20:11 +0000 (17:20 +0000)]
Remember to update live-in lists when coalescing physregs.
Patch by M Wahab!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95668
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 9 Feb 2010 17:20:03 +0000 (17:20 +0000)]
clang test suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95667
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Feb 2010 17:00:40 +0000 (17:00 +0000)]
Mention IndVarSimplify in the comment by getSmallConstantTripCount, as
is done for getTripCount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95666
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 9 Feb 2010 16:59:14 +0000 (16:59 +0000)]
Mention vAny and iPTRAny in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95665
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 06:41:03 +0000 (06:41 +0000)]
move tests that depend on the x86 backend out of codegen/generic,
and remove a few old and unreduced ones. Fixes PR5624.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95656
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 06:36:30 +0000 (06:36 +0000)]
make target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 06:35:50 +0000 (06:35 +0000)]
merge a target-specific add test into x86 directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 06:33:27 +0000 (06:33 +0000)]
merge another test in, drop the trivially constant folded cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95653
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 9 Feb 2010 06:24:00 +0000 (06:24 +0000)]
consolidate and filecheckize two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95652
91177308-0d34-0410-b5e6-
96231b3b80d8