oota-llvm.git
14 years agoFilled in a few new APIs for the enhanced
Sean Callanan [Thu, 4 Feb 2010 01:43:08 +0000 (01:43 +0000)]
Filled in a few new APIs for the enhanced
disassembly library that provide access to
instruction information, and fixed ambiguous
wording in the comments for the header.

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

14 years agoUse a tab instead of space after .type, for consistency.
Dan Gohman [Thu, 4 Feb 2010 01:42:13 +0000 (01:42 +0000)]
Use a tab instead of space after .type, for consistency.

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

14 years agoRewrite FP constant handling in DEBUG_VALUE yet
Dale Johannesen [Thu, 4 Feb 2010 01:33:43 +0000 (01:33 +0000)]
Rewrite FP constant handling in DEBUG_VALUE yet
again, so it more or less handles long double.
Restore \n removed in latest MC frenzy.

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

14 years agoFix (and test) function-local metadata that occurs before the instruction that it...
Victor Hernandez [Thu, 4 Feb 2010 01:13:08 +0000 (01:13 +0000)]
Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated

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

14 years agoIf we're dealing with a zero-length array, don't lower to any
Eric Christopher [Wed, 3 Feb 2010 23:56:07 +0000 (23:56 +0000)]
If we're dealing with a zero-length array, don't lower to any
particular size, we just don't know what the length is yet.

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

14 years agoThis test passes now on ppc darwin; if it doesn't pass
Dale Johannesen [Wed, 3 Feb 2010 22:33:17 +0000 (22:33 +0000)]
This test passes now on ppc darwin; if it doesn't pass
on some other ppc say something on the list.

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

14 years agoThis test passes now on ppc darwin, so reenable it.
Dale Johannesen [Wed, 3 Feb 2010 22:29:02 +0000 (22:29 +0000)]
This test passes now on ppc darwin, so reenable it.

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

14 years agoDebugging is now reenabled on PPC darwin, so reenable
Dale Johannesen [Wed, 3 Feb 2010 22:24:49 +0000 (22:24 +0000)]
Debugging is now reenabled on PPC darwin, so reenable
these tests (they pass).

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

14 years agoenhance new encoder to support prefixes + RawFrm
Chris Lattner [Wed, 3 Feb 2010 21:57:59 +0000 (21:57 +0000)]
enhance new encoder to support prefixes + RawFrm
instructions with no operands.  It can now handle

define void @test2() nounwind { ret void }

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

14 years agoset up some infrastructure, some minor cleanups.
Chris Lattner [Wed, 3 Feb 2010 21:43:43 +0000 (21:43 +0000)]
set up some infrastructure, some minor cleanups.

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

14 years agoSpeculatively disable x86 automatic tail call optimization while we track down a...
Evan Cheng [Wed, 3 Feb 2010 21:40:40 +0000 (21:40 +0000)]
Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue.

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

14 years agoMake test less fragile
Evan Cheng [Wed, 3 Feb 2010 21:39:04 +0000 (21:39 +0000)]
Make test less fragile

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

14 years agostub out a new X86 encoder, which can be tried with
Chris Lattner [Wed, 3 Feb 2010 21:24:49 +0000 (21:24 +0000)]
stub out a new X86 encoder, which can be tried with
-enable-new-x86-encoder until its stable.

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

14 years agorename createX86MCCodeEmitter to more accurately reflect what it creates.
Chris Lattner [Wed, 3 Feb 2010 21:14:33 +0000 (21:14 +0000)]
rename createX86MCCodeEmitter to more accurately reflect what it creates.

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

14 years agoAdded support for X86 instruction prefixes so llvm-mc can assemble them. The
Kevin Enderby [Wed, 3 Feb 2010 21:04:42 +0000 (21:04 +0000)]
Added support for X86 instruction prefixes so llvm-mc can assemble them.  The
Lock prefix, Repeat string operation prefixes and the Segment override prefixes.
Also added versions of the move string and store string instructions without the
repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of
move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is
happy building the disassembler files.

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

14 years agoEmit appropriate expression to find virtual base offset.
Devang Patel [Wed, 3 Feb 2010 20:08:48 +0000 (20:08 +0000)]
Emit appropriate expression to find virtual base offset.

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

14 years agoProvide interface to identifiy artificial methods.
Devang Patel [Wed, 3 Feb 2010 19:57:19 +0000 (19:57 +0000)]
Provide interface to identifiy artificial methods.

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

14 years agor94686 changed all ModuleProvider parameters to Modules, which made the
Jeffrey Yasskin [Wed, 3 Feb 2010 19:18:04 +0000 (19:18 +0000)]
r94686 changed all ModuleProvider parameters to Modules, which made the
1-argument ExecutionEngine::create(Module*) ambiguous with the signature that
used to be ExecutionEngine::create(ModuleProvider*, defaulted_params).  Fixed
by removing the 1-argument create().  Fixes PR6221.

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

14 years agoMake docs less specific about their versions, at Chris's suggestion.
Jeffrey Yasskin [Wed, 3 Feb 2010 18:49:55 +0000 (18:49 +0000)]
Make docs less specific about their versions, at Chris's suggestion.

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

14 years agoAdd llvm_supports_darwin_and_target to DejaGNU as well, I'd almost forgotten it
Daniel Dunbar [Wed, 3 Feb 2010 18:43:46 +0000 (18:43 +0000)]
Add llvm_supports_darwin_and_target to DejaGNU as well, I'd almost forgotten it
ever existed. :)

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

14 years agoMention the version in the documentation index and link to the 2.6 docs, which
Jeffrey Yasskin [Wed, 3 Feb 2010 18:23:23 +0000 (18:23 +0000)]
Mention the version in the documentation index and link to the 2.6 docs, which
is what most readers will actually be aiming for.

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

14 years agollvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
Daniel Dunbar [Wed, 3 Feb 2010 18:18:30 +0000 (18:18 +0000)]
llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
output.

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

14 years agoAdd "Author Date Id Revision" svn:keyword properties to these files, as
Dan Gohman [Wed, 3 Feb 2010 17:27:31 +0000 (17:27 +0000)]
Add "Author Date Id Revision" svn:keyword properties to these files, as
is done with the other html files in doc, to hopefully keep strings like
"Last modified" current.

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

14 years agoAdjust the heuristics used to decide when SROA is likely to be profitable.
Bob Wilson [Wed, 3 Feb 2010 17:23:56 +0000 (17:23 +0000)]
Adjust the heuristics used to decide when SROA is likely to be profitable.
The SRThreshold value makes perfect sense for checking if an entire aggregate
should be promoted to a scalar integer, but it is not so good for splitting
an aggregate into its separate elements.  A struct may contain a large embedded
array along with some scalar fields that would benefit from being split apart
by SROA.  Even if the total aggregate size is large, it may still be good to
perform SROA.  Thus, the most important piece of this patch is simply moving
the aggregate size comparison vs. SRThreshold so that it guards only the
aggregate promotion.

We have also been checking the number of elements to decide if an aggregate
should be split up.  The limit of "SRThreshold/4" seemed rather arbitrary,
and I don't think it's very useful to derive this limit from SRThreshold
anyway.  I've collected some data showing that the current default limit of
32 (since SRThreshold defaults to 128) is a reasonable cutoff for struct
types.  One thing suggested by the data is that distinguishing between structs
and arrays might be useful.  There are (obviously) a lot more large arrays
than large structs (as measured by the number of elements and not the total
size -- a large array inside a struct still counts as a single element given
the way we do SROA right now).  Out of 8377 arrays where we successfully
performed SROA while compiling a large set of benchmarks, only 16 of them had
more than 8 elements.  And, for those 16 arrays, it's not at all clear that
SROA was actually beneficial.  So, to offset the compile time cost of
investigating more large structs for SROA, the patch lowers the limit on array
elements to 8.

This fixes Apple Radar 7563690.

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

14 years agoRepository access test commit
Garrison Venn [Wed, 3 Feb 2010 12:00:02 +0000 (12:00 +0000)]
Repository access test commit

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

14 years agoRemove redundant declaration.
Zhongxing Xu [Wed, 3 Feb 2010 09:05:21 +0000 (09:05 +0000)]
Remove redundant declaration.

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

14 years agoAdd constructors.
Zhongxing Xu [Wed, 3 Feb 2010 09:04:11 +0000 (09:04 +0000)]
Add constructors.

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

14 years agoreapply r95206, this time actually delete the code I'm replacing in the third stub...
Chris Lattner [Wed, 3 Feb 2010 06:42:38 +0000 (06:42 +0000)]
reapply r95206, this time actually delete the code I'm replacing in the third stub case.

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

14 years agorevert r95206, it is apparently causing bootstrap failure on i386-darwin9
Chris Lattner [Wed, 3 Feb 2010 06:41:18 +0000 (06:41 +0000)]
revert r95206, it is apparently causing bootstrap failure on i386-darwin9

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

14 years agoprint instruction encodings with the existing comment facilities,
Chris Lattner [Wed, 3 Feb 2010 06:28:13 +0000 (06:28 +0000)]
print instruction encodings with the existing comment facilities,
so that llvm-mc -show-encoding prints like this:

hlt                                                 ## encoding: [0xf4]

instead of like this:

hlt
                     # encoding: [0xf4]

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

14 years agomake the x86 backend emit darwin stubs through mcstreamer
Chris Lattner [Wed, 3 Feb 2010 06:21:16 +0000 (06:21 +0000)]
make the x86 backend emit darwin stubs through mcstreamer
instead of textually.

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

14 years agomake MachineModuleInfoMachO hold non-const MCSymbol*'s instead
Chris Lattner [Wed, 3 Feb 2010 06:18:30 +0000 (06:18 +0000)]
make MachineModuleInfoMachO hold non-const MCSymbol*'s instead
of const ones.  non-const ones aren't very useful, because you can't
even, say, emit them.

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

14 years agochange addPassesToEmitFile to return true on failure instead of its input,
Chris Lattner [Wed, 3 Feb 2010 05:55:08 +0000 (05:55 +0000)]
change addPassesToEmitFile to return true on failure instead of its input,
add -filetype=null for performance testing and remove -filetype=dynlib,
which isn't planned to be implemented.

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

14 years agoRevert 94937 and move the noreturn check to codegen.
Evan Cheng [Wed, 3 Feb 2010 03:55:59 +0000 (03:55 +0000)]
Revert 94937 and move the noreturn check to codegen.

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

14 years agoFixed the disassembler so it accepts multiple
Sean Callanan [Wed, 3 Feb 2010 03:46:41 +0000 (03:46 +0000)]
Fixed the disassembler so it accepts multiple
instructions on a single line.  Also made it a
bit more forgiving when it reports errors.

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

14 years agoMake APInt::countLeadingZerosSlowCase() treat the contents of padding bits
John McCall [Wed, 3 Feb 2010 03:42:44 +0000 (03:42 +0000)]
Make APInt::countLeadingZerosSlowCase() treat the contents of padding bits
as undefined.  Fixes an assertion in APFloat::toString noticed by Dale.

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

14 years agoAllow all types of callee's to be tail called. But avoid automatic tailcall if the...
Evan Cheng [Wed, 3 Feb 2010 03:28:02 +0000 (03:28 +0000)]
Allow all types of callee's to be tail called. But avoid automatic tailcall if the callee is a result of bitcast to avoid losing necessary zext / sext etc.

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

14 years agoReconfigure with autoconf-2.60, and fix autoconf.ac to work with that version.
Jeffrey Yasskin [Wed, 3 Feb 2010 02:11:49 +0000 (02:11 +0000)]
Reconfigure with autoconf-2.60, and fix autoconf.ac to work with that version.

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

14 years agodon't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
Chris Lattner [Wed, 3 Feb 2010 01:49:49 +0000 (01:49 +0000)]
don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,
.o files don't like that.

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

14 years agoprivatize a bunch of methods and move \n printing into them.
Chris Lattner [Wed, 3 Feb 2010 01:46:05 +0000 (01:46 +0000)]
privatize a bunch of methods and move \n printing into them.

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

14 years agorename printMachineInstruction -> EmitInstruction
Chris Lattner [Wed, 3 Feb 2010 01:41:03 +0000 (01:41 +0000)]
rename printMachineInstruction -> EmitInstruction

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

14 years agoReapply 95050 with a tweak to check the register class.
Dale Johannesen [Wed, 3 Feb 2010 01:40:33 +0000 (01:40 +0000)]
Reapply 95050 with a tweak to check the register class.

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

14 years agoprint instructions through the mcstreamer.
Chris Lattner [Wed, 3 Feb 2010 01:16:28 +0000 (01:16 +0000)]
print instructions through the mcstreamer.

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

14 years agoemit instructions through the streamer.
Chris Lattner [Wed, 3 Feb 2010 01:15:03 +0000 (01:15 +0000)]
emit instructions through the streamer.

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

14 years agoFinally eliminate printMCInst and send instructions through
Chris Lattner [Wed, 3 Feb 2010 01:13:25 +0000 (01:13 +0000)]
Finally eliminate printMCInst and send instructions through
the streamer.  Demo:

$ cat t.ll
define i32 @test() nounwind {
  ret i32 42
}
$ llc t.ll -o -
...
_test:
movl $42, %eax
ret
$ llc t.ll -o t.o -filetype=obj
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_test:
00000000 movl $0x0000002a,%eax
00000005 ret

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

14 years agorejigger the world so that EmitInstruction prints the \n at
Chris Lattner [Wed, 3 Feb 2010 01:09:55 +0000 (01:09 +0000)]
rejigger the world so that EmitInstruction prints the \n at
the end of the instruction instead of expecting the caller to
do it.  This currently causes the asm-verbose instruction
comments to be on the next line.

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

14 years agosink handling of target-independent machine instrs (other
Chris Lattner [Wed, 3 Feb 2010 01:00:52 +0000 (01:00 +0000)]
sink handling of target-independent machine instrs (other
than DEBUG_VALUE :(  ) into the target indep AsmPrinter.cpp
file.   This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.

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

14 years agomake these less sensitive to asm verbose changes by disabling it for them.
Chris Lattner [Wed, 3 Feb 2010 00:48:53 +0000 (00:48 +0000)]
make these less sensitive to asm verbose changes by disabling it for them.

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

14 years agoPrint FPImm a less kludgy way; APFloat.toString seems
Dale Johannesen [Wed, 3 Feb 2010 00:36:40 +0000 (00:36 +0000)]
Print FPImm a less kludgy way; APFloat.toString seems
to have some problems anyway.

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

14 years agoFix some comment typos.
Bob Wilson [Wed, 3 Feb 2010 00:33:21 +0000 (00:33 +0000)]
Fix some comment typos.

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

14 years agopass an instprinter into the AsmPrinter if it is available.
Chris Lattner [Wed, 3 Feb 2010 00:29:55 +0000 (00:29 +0000)]
pass an instprinter into the AsmPrinter if it is available.

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

14 years agomake any use of the "O" stream in asmprinter print to
Chris Lattner [Wed, 3 Feb 2010 00:22:02 +0000 (00:22 +0000)]
make any use of the "O" stream in asmprinter print to
stderr if in filetype=obj mode.  This is a hack, and will
live until dwarf emission and other random stuff that is
not yet going through MCStreamer is upgraded.  It only
impacts filetype=obj mode.

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

14 years agoRecommit this, looks like it wasn't the cause.
Eric Christopher [Wed, 3 Feb 2010 00:21:58 +0000 (00:21 +0000)]
Recommit this, looks like it wasn't the cause.

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

14 years agoByVal frame object size should be that of the byval argument, not the size of the...
Evan Cheng [Tue, 2 Feb 2010 23:58:13 +0000 (23:58 +0000)]
ByVal frame object size should be that of the byval argument, not the size of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless.

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

14 years agoHook up -filetype=obj through the MachO streamer. Here's a demo:
Chris Lattner [Tue, 2 Feb 2010 23:57:42 +0000 (23:57 +0000)]
Hook up -filetype=obj through the MachO streamer.  Here's a demo:

$ cat t.ll
@g = global i32 42
$ llc t.ll -o t.o -filetype=obj
$ nm t.o
00000000 D _g

There is still a ton of work left.  Instructions are not being encoded
yet apparently.

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

14 years agoAs of r79039, we still try to eliminate the frame pointer on leaf functions,
Jim Grosbach [Tue, 2 Feb 2010 23:56:14 +0000 (23:56 +0000)]
As of r79039, we still try to eliminate the frame pointer on leaf functions,
even when -disable-fp-elim is specified.

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

14 years agoRevert 95130.
Evan Cheng [Tue, 2 Feb 2010 23:55:14 +0000 (23:55 +0000)]
Revert 95130.

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

14 years agoAccept floating point immediates in DEBUG_VALUE.
Dale Johannesen [Tue, 2 Feb 2010 23:54:23 +0000 (23:54 +0000)]
Accept floating point immediates in DEBUG_VALUE.

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

14 years agoAsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
Daniel Dunbar [Tue, 2 Feb 2010 23:46:47 +0000 (23:46 +0000)]
AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we need
some mechanism for specifying alternative syntaxes, but I'm not sure what form
that should take yet.

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

14 years agoAsmMatcherEmitter: Use stable_sort when reordering instructions, so that order
Daniel Dunbar [Tue, 2 Feb 2010 23:46:36 +0000 (23:46 +0000)]
AsmMatcherEmitter: Use stable_sort when reordering instructions, so that order
is still deterministic even amongst ambiguous instructions (eventually ambiguous
match orders will be a hard error, but we aren't there yet).

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

14 years agouse OwningPtr and factor code better.
Chris Lattner [Tue, 2 Feb 2010 23:45:17 +0000 (23:45 +0000)]
use OwningPtr and factor code better.

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

14 years agorefactor code so that LLVMTargetMachine creates the asmstreamer and
Chris Lattner [Tue, 2 Feb 2010 23:37:42 +0000 (23:37 +0000)]
refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it.  This allows other
types of MCStreamer's to be passed in.

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

14 years agoHopefully temporarily revert this.
Eric Christopher [Tue, 2 Feb 2010 23:01:31 +0000 (23:01 +0000)]
Hopefully temporarily revert this.

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

14 years agosimplify getVerboseAsm
Chris Lattner [Tue, 2 Feb 2010 22:58:13 +0000 (22:58 +0000)]
simplify getVerboseAsm

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

14 years agomove handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with...
Chris Lattner [Tue, 2 Feb 2010 22:54:51 +0000 (22:54 +0000)]
move handling of asm-verbose out of AsmPrinter.cpp into LLVMTargetMachine.cpp with the rest of the command line options.

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

14 years agoremove dead #include, stupid symlinks.
Chris Lattner [Tue, 2 Feb 2010 22:37:42 +0000 (22:37 +0000)]
remove dead #include, stupid symlinks.

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

14 years agoremove the # TAILCALL markers, which was causing the to fail.
Chris Lattner [Tue, 2 Feb 2010 22:36:29 +0000 (22:36 +0000)]
remove the # TAILCALL markers, which was causing the to fail.
It's unclear if the matcher is nondeterminstic of what here,
but I'm getting matches without TAILCALL and some other hosts
are getting matches with it.

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

14 years agoRemove a bunch of stuff around the edges of the ELF writer.
Chris Lattner [Tue, 2 Feb 2010 22:31:11 +0000 (22:31 +0000)]
Remove a bunch of stuff around the edges of the ELF writer.
Now the only use of the ELF writer is the JIT, which won't be
easy to fix in the short term. :( :(

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

14 years agoReformat my last patch slightly.
Eric Christopher [Tue, 2 Feb 2010 22:29:26 +0000 (22:29 +0000)]
Reformat my last patch slightly.

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

14 years agotidy some targets.
Chris Lattner [Tue, 2 Feb 2010 22:13:21 +0000 (22:13 +0000)]
tidy some targets.

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

14 years agoRe-add strcmp and known size object size checking optimization.
Eric Christopher [Tue, 2 Feb 2010 22:10:43 +0000 (22:10 +0000)]
Re-add strcmp and known size object size checking optimization.

Passed bootstrap and nightly test run here.

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

14 years agoremove dead code.
Chris Lattner [Tue, 2 Feb 2010 22:03:00 +0000 (22:03 +0000)]
remove dead code.

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

14 years agoMCAssembler/Darwin: Add a test (on Darwin) that we assemble a bunch of
Daniel Dunbar [Tue, 2 Feb 2010 22:00:15 +0000 (22:00 +0000)]
MCAssembler/Darwin: Add a test (on Darwin) that we assemble a bunch of
instructions exactly like 'as', and produce equivalent .o files.

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

14 years agodetemplatize the ppc code emitter.
Chris Lattner [Tue, 2 Feb 2010 21:55:58 +0000 (21:55 +0000)]
detemplatize the ppc code emitter.

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

14 years agoremove dead code.
Chris Lattner [Tue, 2 Feb 2010 21:52:03 +0000 (21:52 +0000)]
remove dead code.

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

14 years agoadd a definition for ID.
Chris Lattner [Tue, 2 Feb 2010 21:49:29 +0000 (21:49 +0000)]
add a definition for ID.

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

14 years agodetemplatize ARM code emitter.
Chris Lattner [Tue, 2 Feb 2010 21:48:51 +0000 (21:48 +0000)]
detemplatize ARM code emitter.

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

14 years agoMCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scale
Daniel Dunbar [Tue, 2 Feb 2010 21:44:16 +0000 (21:44 +0000)]
MCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scale
== 1.

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

14 years agoMCCodeEmitter/X86: Handle tied registers better when converting MCInst ->
Daniel Dunbar [Tue, 2 Feb 2010 21:44:10 +0000 (21:44 +0000)]
MCCodeEmitter/X86: Handle tied registers better when converting MCInst ->
MCMachineInstr. This also fixes handling of tied registers for MRMSrcMem
instructions.

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

14 years agoMC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.
Daniel Dunbar [Tue, 2 Feb 2010 21:44:01 +0000 (21:44 +0000)]
MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections.

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

14 years agoremove dead code.
Chris Lattner [Tue, 2 Feb 2010 21:38:59 +0000 (21:38 +0000)]
remove dead code.

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

14 years agodetemplatize alpha code emission, it is now JIT specific.
Chris Lattner [Tue, 2 Feb 2010 21:35:47 +0000 (21:35 +0000)]
detemplatize alpha code emission, it is now JIT specific.

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

14 years agoeliminate all the dead addSimpleCodeEmitter implementations.
Chris Lattner [Tue, 2 Feb 2010 21:31:47 +0000 (21:31 +0000)]
eliminate all the dead addSimpleCodeEmitter implementations.

eliminate random "code emitter" stuff in Alpha, except for
the JIT path.  Next up, remove the template cruft.

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

14 years agoPass callsite return type to TargetLowering::LowerCall and use that to check sibcall...
Evan Cheng [Tue, 2 Feb 2010 21:29:10 +0000 (21:29 +0000)]
Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.

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

14 years agoMake DenseSet's erase pass on the return value rather than swallowing it.
Dan Gohman [Tue, 2 Feb 2010 21:11:22 +0000 (21:11 +0000)]
Make DenseSet's erase pass on the return value rather than swallowing it.

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

14 years agoFix function names in comments. Thanks Duncan!
Dan Gohman [Tue, 2 Feb 2010 21:10:27 +0000 (21:10 +0000)]
Fix function names in comments. Thanks Duncan!

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

14 years agoeliminate FileModel::Model, just use CodeGenFileType. The client
Chris Lattner [Tue, 2 Feb 2010 21:06:45 +0000 (21:06 +0000)]
eliminate FileModel::Model, just use CodeGenFileType.  The client
of the code generator shouldn't care what object format a target
uses.

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

14 years agothis apparently depends on the host somehow.
Chris Lattner [Tue, 2 Feb 2010 20:57:28 +0000 (20:57 +0000)]
this apparently depends on the host somehow.

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

14 years agoXFAIL for PPC Darwin.
Bill Wendling [Tue, 2 Feb 2010 20:56:02 +0000 (20:56 +0000)]
XFAIL for PPC Darwin.

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

14 years agodisable this test for now.
Chris Lattner [Tue, 2 Feb 2010 20:41:39 +0000 (20:41 +0000)]
disable this test for now.

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

14 years ago...and fixed the Makefile.
Sean Callanan [Tue, 2 Feb 2010 20:20:30 +0000 (20:20 +0000)]
...and fixed the Makefile.

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

14 years agoRenamed the ed directory to edis, as suggested
Sean Callanan [Tue, 2 Feb 2010 20:11:23 +0000 (20:11 +0000)]
Renamed the ed directory to edis, as suggested
yesterday.  This eliminates possible confusion
about what exactly in this directory; the name
is still short, though.

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

14 years agoremove the remnants of TargetMachOWriterInfo.
Chris Lattner [Tue, 2 Feb 2010 19:41:23 +0000 (19:41 +0000)]
remove the remnants of TargetMachOWriterInfo.

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

14 years agoAdd a new top-level MachO.h file for manifest constants, fixing
Chris Lattner [Tue, 2 Feb 2010 19:38:14 +0000 (19:38 +0000)]
Add a new top-level MachO.h file for manifest constants, fixing
a layering violation from MC -> Target.

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

14 years agoAdded t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.
Johnny Chen [Tue, 2 Feb 2010 19:31:58 +0000 (19:31 +0000)]
Added t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.

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

14 years agoremove PPCMachOWriterInfo.
Chris Lattner [Tue, 2 Feb 2010 19:23:55 +0000 (19:23 +0000)]
remove PPCMachOWriterInfo.

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

14 years agoeliminate all forms of addPassesToEmitMachineCode except
Chris Lattner [Tue, 2 Feb 2010 19:14:27 +0000 (19:14 +0000)]
eliminate all forms of addPassesToEmitMachineCode except
the one used by the JIT.  Remove all forms of
addPassesToEmitFileFinish except the one used by the static
code generator.  Inline the remaining version of
addPassesToEmitFileFinish into its only caller.

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

14 years agoAdded another version of the X86 assembler matcher test case.
Kevin Enderby [Tue, 2 Feb 2010 19:05:57 +0000 (19:05 +0000)]
Added another version of the X86 assembler matcher test case.
This test case is different subset of the full auto generated test case, and a
larger subset that is in x86_32-bit.s (that set will encode correctly).  These
instructions can pass though llvm-mc as it were a logical cat(1) and then
reassemble to the same instruction.  It is useful as we bring up the parser and
matcher so we don't break things that currently work.

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

14 years agoremove dead code, we're requesting TargetMachine::AssemblyFile here.
Chris Lattner [Tue, 2 Feb 2010 19:03:39 +0000 (19:03 +0000)]
remove dead code, we're requesting TargetMachine::AssemblyFile here.

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

14 years agoTest revert 95050; there's a good chance it's causing
Dale Johannesen [Tue, 2 Feb 2010 18:52:56 +0000 (18:52 +0000)]
Test revert 95050; there's a good chance it's causing
buildbot failure.

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