Commit Graph

53177 Commits

Author SHA1 Message Date
Chris Lattner
8124977463 revert r84540, fixing build breakage I didn't see because of
broken makefile deps :(

llvm-svn: 84544
2009-10-19 21:59:25 +00:00
Chris Lattner
30baeae77d add addrmode2 support, getting us up to:
_main:
	stm , 
	mov r7, sp
	sub sp, sp, #4
	mov r0, #0
	str r0, [sp]
	ldr r0, LCPI1_0
	bl _printf
	ldr r0, [sp]
	mov sp, r7
	ldm , 

llvm-svn: 84543
2009-10-19 21:57:05 +00:00
Chris Lattner
ec500c80c6 add jump tables, constant pools and some trivial global
lowering stuff.  We can now compile hello world to:

_main:
	stm , 
	mov r7, sp
	sub sp, sp, #4
	mov r0, #0
	str r0, 
	ldr r0, 
	bl _printf
	ldr r0, 
	mov sp, r7
	ldm , 

Almost looks like arm code :)

llvm-svn: 84542
2009-10-19 21:53:00 +00:00
Victor Hernandez
a666c49572 Malloc calls are marked NoAlias, so the code below the isMalloc() check makes it redundant. Removing the isMalloc() check.
llvm-svn: 84541
2009-10-19 21:47:22 +00:00
Chris Lattner
4b35be3f3b pass mangler in as a reference instead of a pointer.
llvm-svn: 84540
2009-10-19 21:45:31 +00:00
Mikhail Glushenkov
7c31bb2adc More refactoring...
llvm-svn: 84537
2009-10-19 21:24:28 +00:00
Chris Lattner
3755b735a0 reduce #includes
llvm-svn: 84536
2009-10-19 21:23:15 +00:00
Chris Lattner
4318ab8ce7 add printing support for SOImm operands, getting us to:
_main:
	stm , 
	mov r7, sp
	sub sp, sp, #4
	mov r0, #0
	str r0, 

llvm-svn: 84535
2009-10-19 21:21:39 +00:00
Owen Anderson
4954f8ef02 Simplify some code.
llvm-svn: 84533
2009-10-19 21:14:57 +00:00
Chris Lattner
241c56bee6 wire up some basic printOperand goodness, giving us stuff like this before
we abort:

_main:
	stm , 
	mov r7, sp
	sub sp, sp, 
	mov r0, 
	str r0, 

llvm-svn: 84532
2009-10-19 20:59:55 +00:00
Chris Lattner
cd8bd77b64 add the files that go with the previous rev
llvm-svn: 84531
2009-10-19 20:21:05 +00:00
Chris Lattner
72c89de0e0 wire up skeletal support for having llc print instructions
through mcinst lowering -> mcinstprinter, when llc is passed
the -enable-arm-mcinst-printer flag.  Currently this
is very "aborty".

llvm-svn: 84530
2009-10-19 20:20:46 +00:00
Owen Anderson
fb4db70d0f Banish ConstantsLock. It's serving no purpose other than slowing things down
at the moment.

llvm-svn: 84529
2009-10-19 20:11:52 +00:00
Chris Lattner
d2f263e74f wire up ARM's printMCInst method. Now llvm-mc should be able to produce
"something" when printing MCInsts, it will just be missing all the 
operand info.

llvm-svn: 84528
2009-10-19 19:59:05 +00:00
Chris Lattner
11fcbad759 stub out a minimal ARMInstPrinter.
llvm-svn: 84527
2009-10-19 19:56:26 +00:00
Chris Lattner
cf8c23d554 remove strings from instructions who are never asmprinted.
All of these "subreg32" modifier instructions are handled
explicitly by the MCInst lowering phase.  If they got to
the asmprinter, they would explode.  They should eventually
be replace with correct use of subregs.

llvm-svn: 84526
2009-10-19 19:51:42 +00:00
Jeffrey Yasskin
fdb36c1a29 Clean up the JITResolver stub/callsite<->function maps.
The JITResolver maps Functions to their canonical stubs and all callsites for
lazily-compiled functions to their target Functions. To make Function
destruction work, I'm going to need to remove all callsites on destruction, so
this patch also adds the reverse mapping for that.

There was an incorrect assumption in here that the only stub for a function
would be the one caused by needing to lazily compile it, while x86-64 far calls
and dlsym-stubs could also cause such stubs, but I didn't look for a test case
that the assumption broke.

This also adds DenseMapInfo<AssertingVH> so I can use DenseMaps instead of
std::maps.

llvm-svn: 84522
2009-10-19 18:49:59 +00:00
Chris Lattner
e3469a4209 simplify code, reducing string thrashing.
llvm-svn: 84521
2009-10-19 18:49:14 +00:00
Chris Lattner
1816e314c6 switch hidden gv stubs to use MachineModuleInfoMachO instead of a custom map.
llvm-svn: 84520
2009-10-19 18:44:38 +00:00
Chris Lattner
b73edceec4 use MachineModuleInfoMachO for non-lazy gv stubs instead of a private map.
llvm-svn: 84519
2009-10-19 18:38:33 +00:00
Chris Lattner
b9bbaf7f4d convert to filecheck syntax and make a lot more aggressive.
llvm-svn: 84517
2009-10-19 18:27:56 +00:00
Anton Korobeynikov
26ed697cf2 Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux
llvm-svn: 84516
2009-10-19 18:21:09 +00:00
Chris Lattner
6fd5bc3ba0 rename test
llvm-svn: 84515
2009-10-19 18:18:07 +00:00
Chris Lattner
e7ea33c824 remove dead map
llvm-svn: 84513
2009-10-19 18:11:25 +00:00
Chris Lattner
1598caa700 don't bother trying to avoid emitting redundant constant pool alignment directives.
llvm-svn: 84512
2009-10-19 18:08:02 +00:00
Chris Lattner
385ca4ca8a remove accidental comment.
llvm-svn: 84510
2009-10-19 18:03:41 +00:00
Chris Lattner
bddb00eadd emit .subsections_via_symbols through MCStreamer instead of textually.
llvm-svn: 84509
2009-10-19 18:03:08 +00:00
Chris Lattner
e53fff883a cleanup doFinalization -> EmitEndOfAsmFile.
llvm-svn: 84508
2009-10-19 17:59:19 +00:00
Stuart Hastings
0e0c090f5d Tweak top-level Makefile to facilitate Apple-style build.
llvm-svn: 84507
2009-10-19 17:53:54 +00:00
Nate Begeman
181b8fae1b PR 5245 - The imediate size target flag was not set on 3A-prefixed SSSE3 instructions.
llvm-svn: 84506
2009-10-19 17:31:16 +00:00
Dan Gohman
d2e75c9ae0 Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.

llvm-svn: 84505
2009-10-19 16:04:50 +00:00
Dan Gohman
5a182b7b78 Fix a typo in a comment.
llvm-svn: 84504
2009-10-19 14:56:05 +00:00
Dan Gohman
05e648bef4 Change a few instance variables to be local variables.
llvm-svn: 84503
2009-10-19 14:52:05 +00:00
Dan Gohman
595545d2e7 Change instnamer to name arguments "arg" instead of "tmp" for clarity, and
to name basic blocks "bb" instead of "BB", for consistency.

llvm-svn: 84502
2009-10-19 14:47:32 +00:00
Daniel Dunbar
cb08b1506f NNT: Add -parallel-test option, which runs llvm-test with
ENABLE_PARALLEL_REPORT.

llvm-svn: 84497
2009-10-19 13:20:56 +00:00
Daniel Dunbar
82c9679c3c NNT: Don't hard code -l3.0 argument to make, this is very server dependent. Users who care can use -compileflags for this.
Also, fix make clean call and a few other tweaks.

llvm-svn: 84496
2009-10-19 13:20:50 +00:00
Daniel Dunbar
43a3425c05 NNT: Fix refactoro, I dropped the list of all (llvm-test) tests. I'm sure it was named dejagnu_test_list for a good reason.
llvm-svn: 84495
2009-10-19 13:20:44 +00:00
Daniel Dunbar
596da5540e NNT: Lift conditional logic out of test steps.
llvm-svn: 84494
2009-10-19 13:20:38 +00:00
Daniel Dunbar
48768a77f1 NNT: Now that build & test steps are factored out, coalesce all the logic together.
llvm-svn: 84493
2009-10-19 13:20:31 +00:00
Daniel Dunbar
3e21f0e5f2 NNT: Sink code for running nightly test into subroutine.
llvm-svn: 84492
2009-10-19 13:20:25 +00:00
Daniel Dunbar
5af56e66c2 NNT: Tweaks and simplifications.
- Split out configure log.
 - Kill off GetRegexNum.
 - Fix GetRegex to not return previous match on failure.
 - Remove dead code.

llvm-svn: 84491
2009-10-19 13:20:19 +00:00
Daniel Dunbar
6c0be45d6a NNT: Move build code into subroutine.
llvm-svn: 84490
2009-10-19 13:20:13 +00:00
Daniel Dunbar
909b1e1428 NNT: Move source checkout code into subroutine.
llvm-svn: 84489
2009-10-19 13:20:06 +00:00
Daniel Dunbar
824984e517 NNT: Remove .{o,a} size info, this is better tracked elsewhere.
llvm-svn: 84488
2009-10-19 13:20:00 +00:00
Daniel Dunbar
362e0a87c2 NNT: Remove code to track build warnings, the buildbots cover this.
llvm-svn: 84487
2009-10-19 13:19:53 +00:00
Torok Edwin
e6df0e6397 Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS.
LLC was scheduling compares before the adds causing wrong branches to be taken
in programs, resulting in misoptimized code wherever atomic adds where used.

llvm-svn: 84485
2009-10-19 11:00:58 +00:00
Daniel Dunbar
6de2000f8f Also check for __POWERPC__ when skipping these tests.
llvm-svn: 84482
2009-10-19 09:19:32 +00:00
Daniel Dunbar
4ca0e75843 NNT: Remove hard coded BuildDir and WebDir, users should have to specify these.
llvm-svn: 84481
2009-10-19 09:19:19 +00:00
Daniel Dunbar
3e4bde4900 NNT: Remove "CVS Stats", this isn't particularly useful and can be better done by the server or user.
llvm-svn: 84480
2009-10-19 09:19:09 +00:00
Daniel Dunbar
ecd1500c44 NNT: Remove now-unused -cvstag argument and CVSROOT code.
llvm-svn: 84479
2009-10-19 09:18:54 +00:00