Daniel Dunbar
b06129b062
Don't build runtime libraries in an Apple style build.
...
llvm-svn: 80303
2009-08-27 23:43:28 +00:00
Bruno Cardoso Lopes
d4c8e64367
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
3073478a39
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
457e656c16
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
Dan Gohman
3df56c2002
Adjust the MachineBasicBlock verifier rules to be more
...
tolerant of blocks that end with "unreachable".
llvm-svn: 80270
2009-08-27 18:14:26 +00:00
Eric Christopher
19db6e3a81
Add FIXME for when we support more specific XMM registers.
...
llvm-svn: 80269
2009-08-27 18:08:16 +00:00
Eric Christopher
2e0a916cbe
Nuke trailing whitespace.
...
llvm-svn: 80268
2009-08-27 18:07:15 +00:00
Dan Gohman
335b36bf14
Use stripPointerCasts instead of doing the same manually.
...
llvm-svn: 80267
2009-08-27 18:02:03 +00:00
Dan Gohman
69ced456fa
Minor code simplification.
...
llvm-svn: 80266
2009-08-27 17:59:08 +00:00
Dan Gohman
fd3cfaae35
Teach getUnderlyingObject and skipPointerCasts about GlobalAliases.
...
llvm-svn: 80265
2009-08-27 17:55:13 +00:00
Dan Gohman
ebfea6a655
Be somewhat more consistent about const qualifiers.
...
llvm-svn: 80264
2009-08-27 17:54:15 +00:00
Dan Gohman
a318ec22f2
Global Aliases are not identifiable objects.
...
llvm-svn: 80263
2009-08-27 17:52:56 +00:00
Dan Gohman
d3d03c966f
Handle TargetData with const.
...
llvm-svn: 80262
2009-08-27 17:51:25 +00:00
Dan Gohman
e4b0f12a19
Strip trailing whitespace from blank lines.
...
llvm-svn: 80259
2009-08-27 17:29:49 +00:00
Gabor Greif
6cd12a9f7f
re-apply r80197, now that iterator.h is not mentioned any more
...
llvm-svn: 80254
2009-08-27 17:07:35 +00:00
Anton Korobeynikov
c1e6083cb8
Hopefully the final missing part :(
...
scalar_to_vector is fully legal now
llvm-svn: 80251
2009-08-27 16:25:49 +00:00
Anton Korobeynikov
3aec90b4d6
Forgot about actual change :)
...
llvm-svn: 80250
2009-08-27 16:10:17 +00:00
Anton Korobeynikov
cb0fdc4505
scalar_to_vector is fully legal now (implemented as subreg accesses)
...
llvm-svn: 80249
2009-08-27 16:04:47 +00:00
Devang Patel
0ac8889288
Remove an entry from ValueMap before removing elements.
...
llvm-svn: 80247
2009-08-27 15:32:38 +00:00
Anton Korobeynikov
e17a92c545
Ok, sometimes it's profitable to turn scalar_to_vector stuff into subreg access.
...
Add a testcase.
llvm-svn: 80246
2009-08-27 14:51:42 +00:00
Anton Korobeynikov
33d151e85e
Transform float scalar_to_vector into subreg accesses.
...
No idea whether this is profitable or not.
llvm-svn: 80245
2009-08-27 14:38:44 +00:00
Misha Brukman
25e2b59ec6
STRD and LDRD require ARMv5TE, not just ARMv5T.
...
See http://llvm.org/PR4687 for more info and links.
llvm-svn: 80244
2009-08-27 14:14:21 +00:00
Benjamin Kramer
ad022f0b66
Inverse logic to increase portability.
...
llvm-svn: 80240
2009-08-27 12:02:34 +00:00
Sanjiv Gupta
4e396dbbb9
To make mcc16 run correctly on mac.
...
llvm-svn: 80239
2009-08-27 11:54:38 +00:00
Daniel Dunbar
e30a44267c
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
...
- No relocations yet, of course.
llvm-svn: 80235
2009-08-27 08:17:51 +00:00
Daniel Dunbar
9a8ec155f7
llvm-mc/X86: Implement single instruction encoding interface for MC.
...
- Note, this is a gigantic hack, with the sole purpose of unblocking further
work on the assembler (its also possible to test the mathcer more completely
now).
- Despite being a hack, its actually good enough to work over all of 403.gcc
(although some encodings are probably incorrect). This is a testament to the
beauty of X86's MachineInstr, no doubt! ;)
llvm-svn: 80234
2009-08-27 08:12:55 +00:00
Daniel Dunbar
b11e3eb82f
llvm-mc: Print encodings after the instruction, and only when we have an asm
...
printer.
llvm-svn: 80233
2009-08-27 07:58:57 +00:00
Daniel Dunbar
87eb328bcf
X86: Mark EH_RETURN as code-gen-only.
...
llvm-svn: 80232
2009-08-27 07:58:05 +00:00
Daniel Dunbar
ed9714d9eb
Add {MCInst,MCOperand}::{print,dump}
...
llvm-svn: 80231
2009-08-27 07:57:12 +00:00
Daniel Dunbar
7e83346fd9
llvm-mc: Only show instruction encodings with --show-encoding.
...
llvm-svn: 80230
2009-08-27 07:56:39 +00:00
Gabor Greif
44a0da31b3
the buildbots revealed one more breakage. fix. (why didn't I see this?)
...
llvm-svn: 80227
2009-08-27 06:59:20 +00:00
Gabor Greif
cc8681cea3
Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)
...
llvm-svn: 80224
2009-08-27 06:41:46 +00:00
Chris Lattner
7785b6000e
Implement a new optimization in the inliner: if inlining multiple
...
calls into a function and if the calls bring in arrays, try to merge
them together to reduce stack size. For example, in the testcase
we'd previously end up with 4 allocas, now we end up with 2 allocas.
As described in the comments, this is not really the ideal solution
to this problem, but it is surprisingly effective. For example, on
176.gcc, we end up eliminating 67 arrays at "gccas" time and another
24 at "llvm-ld" time.
One piece of concern that I didn't look into: at -O0 -g with
forced inlining this will almost certainly result in worse debug
info. I think this is acceptable though given that this is a case
of "debugging optimized code", and we don't want debug info to
prevent the optimizer from doing things anyway.
llvm-svn: 80215
2009-08-27 06:29:33 +00:00
Chris Lattner
93d567a70d
the inliner shouldn't crash on this.
...
llvm-svn: 80214
2009-08-27 06:20:45 +00:00
Daniel Dunbar
838ad81771
For now, only run MC tests if X86 is configured.
...
llvm-svn: 80213
2009-08-27 06:11:15 +00:00
Bill Wendling
2b2108a4de
This is passing for PPC on Mac OS X.
...
llvm-svn: 80210
2009-08-27 05:49:50 +00:00
Bill Wendling
cb8a4a6abb
Revert accidental commit.
...
llvm-svn: 80208
2009-08-27 05:35:28 +00:00
Chris Lattner
61d49fed23
unbreak the build, yay for symlinks + makefiles. :(
...
llvm-svn: 80205
2009-08-27 04:43:05 +00:00
Chris Lattner
358f90e5b1
reduce header #include'age
...
llvm-svn: 80204
2009-08-27 04:32:07 +00:00
Chris Lattner
becb2e9534
enhance InlineFunction to be able to optionally return
...
a the list of static allocas that it inlined.
llvm-svn: 80203
2009-08-27 04:20:52 +00:00
Chris Lattner
7fbde3dedf
smallvectorize the list of returns built by CloneAndPruneFunctionInto.
...
llvm-svn: 80202
2009-08-27 04:02:30 +00:00
Chris Lattner
8b277ab324
remove CloneTrace, which appears to be dead since 2004.
...
llvm-svn: 80201
2009-08-27 03:56:43 +00:00
Chris Lattner
71e787d93b
reduce inlining factor some stuff out to a static helper function,
...
and other code cleanups. No functionality change.
llvm-svn: 80199
2009-08-27 03:51:50 +00:00
Bill Wendling
9d9a3b7f82
Revert accidental commit.
...
llvm-svn: 80198
2009-08-27 03:32:50 +00:00
Bill Wendling
5f74a3e3b9
--- Reverse-merging r80147 into '.':
...
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in
Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.
Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.
llvm-svn: 80197
2009-08-27 03:29:26 +00:00
Dan Gohman
ef6a9d4f16
Add some checks for MachineCFG consistency. Use AnalyzeBranch and
...
do extra checking when it succeeds, as those are cases where
CodeGen will be doing particularly interesting CFG modifications.
llvm-svn: 80196
2009-08-27 02:43:49 +00:00
Daniel Dunbar
abcf0c83cc
Update CMake
...
llvm-svn: 80195
2009-08-27 02:08:37 +00:00
Daniel Dunbar
4316774ac1
llvm-mc: Tweak MCCodeEmitter skeleton.
...
llvm-svn: 80193
2009-08-27 01:34:22 +00:00
Dan Gohman
1725fdd25d
Initialize the PoisonMemory member before initializing
...
members that call methods that read the PoisonMemory member.
This fixes potential spurious (though probably otherwise
harmless) poising of unused memory, and fixes the
associated valgrind error.
llvm-svn: 80192
2009-08-27 01:25:57 +00:00
Evan Cheng
984f8efcaa
Fix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot fold any immediate offset.
...
llvm-svn: 80191
2009-08-27 01:23:50 +00:00