Commit Graph

20939 Commits

Author SHA1 Message Date
Chris Lattner
5f605f3c12 LI could theoretically be used for the lo-part of a global address, just like
lis can be used for the high part.

llvm-svn: 24388
2005-11-17 07:04:43 +00:00
Chris Lattner
0b177075c2 Allow targets to custom legalize leaf nodes like GlobalAddress.
llvm-svn: 24387
2005-11-17 06:41:44 +00:00
Chris Lattner
7fdf96ed96 When lowering direct calls, lower them to use a targetglobaladress directly
instead of a globaladdress.  This has no effect on the generated code at all.

llvm-svn: 24386
2005-11-17 05:56:14 +00:00
Chris Lattner
48668daec3 Teach legalize about targetglobaladdress
llvm-svn: 24385
2005-11-17 05:52:24 +00:00
Chris Lattner
f829636c6b Add patterns for some 16-bit immediate instructions, patch contributed by
Evan Cheng.

llvm-svn: 24384
2005-11-17 02:01:55 +00:00
Chris Lattner
b545ab1ac1 fix a tblgen bug that Evan ran into, where we would lose the '$src' name
on patterns like "(set R32:$dst, (i32 imm:$src))"

llvm-svn: 24383
2005-11-16 23:14:54 +00:00
Chris Lattner
fec54e57a0 Add patterns for several simple instructions that take i32 immediates.
Patch contributed by Evan Cheng!

llvm-svn: 24382
2005-11-16 22:59:19 +00:00
Andrew Lenharth
d6861fd1db who would have thought you would want to write into globals too
llvm-svn: 24381
2005-11-16 21:15:53 +00:00
Chris Lattner
7c43f5683f This passes on ppc and x86 now
llvm-svn: 24378
2005-11-16 07:24:31 +00:00
Chris Lattner
2095b19912 when debugging lower dbg intrinsics to calls
llvm-svn: 24377
2005-11-16 07:22:30 +00:00
Chris Lattner
1ebf5e9303 tell selectiondag when we're debugging
llvm-svn: 24376
2005-11-16 07:21:47 +00:00
Chris Lattner
efa81a081f add a flag
llvm-svn: 24375
2005-11-16 07:21:15 +00:00
Chris Lattner
5853bd7984 indicate when a tool is a debug build.
llvm-svn: 24374
2005-11-16 06:36:47 +00:00
Jeff Cohen
17d14b56d9 Keep Visual Studio building.
llvm-svn: 24373
2005-11-16 06:10:53 +00:00
Chris Lattner
d69b86453a * Fix DerivedType::dropAllTypeUses to not change the number of types in a
type when it gets refined.  This allows us to hash on this crucial value.
* Fix several issues in TypeMap::RefineAbstractType that prevent it from
  handling hash values that change correctly.
* Define hashTypeStructure to not always return 0.  :)

This last part (which depends on the first two) speeds up gccld time on eon
from 3.78s to 2.75s with a release build (a 28% speedup!).  This resolves
PR474.

llvm-svn: 24372
2005-11-16 06:09:47 +00:00
Chris Lattner
9caa214f72 initial step at adding a dag-to-dag isel for X86 backend. Patch contributed
by Evan Cheng!

llvm-svn: 24371
2005-11-16 01:54:32 +00:00
Nate Begeman
684381a73b Patch to clean up function call pseudos and support the BLA instruction,
which branches to an absolute address.  This is required to support objc
direct dispatch.

llvm-svn: 24370
2005-11-16 00:48:01 +00:00
Jeff Cohen
85a410934d Keep Visual Studio informed of new files.
llvm-svn: 24366
2005-11-15 16:11:55 +00:00
Chris Lattner
fdc590eec9 remove these labels, there are now bigger jumps in the graph that are unlabeled
llvm-svn: 24365
2005-11-15 06:44:15 +00:00
Chris Lattner
e5b3c14caf Fix some typos noticed by Gabor Greif!
llvm-svn: 24364
2005-11-15 06:07:55 +00:00
Chris Lattner
bbed9bff31 Make sure to use SwitchSection to switch sections so that we don't accidentally emit
functions into the .const section.  Whoops.

llvm-svn: 24363
2005-11-15 01:45:01 +00:00
Chris Lattner
f7a530046f Fix handling of multiple unnamed globals with the same type
llvm-svn: 24362
2005-11-15 01:32:03 +00:00
Chris Lattner
792ac11aee Separate X86ISelLowering stuff out from the X86ISelPattern.cpp file. Patch
contributed by Evan Cheng.

llvm-svn: 24358
2005-11-15 00:40:23 +00:00
Chris Lattner
5d9032c0e9 Remove extraneous parents around constants when using a constant expr cast.
llvm-svn: 24357
2005-11-15 00:03:16 +00:00
Andrew Lenharth
23765a8009 this file moved
llvm-svn: 24356
2005-11-14 19:32:05 +00:00
Chris Lattner
baf0cc4e6e Handle globals with explicit alignment requests
llvm-svn: 24355
2005-11-14 19:00:30 +00:00
Chris Lattner
389e3bfb0c Teach emitAlignment to handle explicit alignment requests by globals.
llvm-svn: 24354
2005-11-14 19:00:06 +00:00
Chris Lattner
9bfbc74ed4 Teach the PPC asmwriter to honor globals with explicit section requests.
llvm-svn: 24353
2005-11-14 18:52:46 +00:00
Chris Lattner
5c5a7b9193 instead of using mstats, use malloc_zone_statistics which returns numbers
that actually make sense.

llvm-svn: 24352
2005-11-14 07:27:56 +00:00
Chris Lattner
787eb5e3ef regenearte
llvm-svn: 24351
2005-11-14 07:25:50 +00:00
Chris Lattner
ad22577daf add malloc_zone_statistics, remove mstats
llvm-svn: 24350
2005-11-14 07:24:17 +00:00
Chris Lattner
d778f6ce06 Teach -track-memory to work on darwin. Looking at sbrk doesn't work because
the default allocator uses mmap.

llvm-svn: 24349
2005-11-14 07:00:29 +00:00
Chris Lattner
7e7018b3dc regenerate
llvm-svn: 24348
2005-11-14 06:57:34 +00:00
Chris Lattner
b02dbd7583 add some stuff for mstats on darwin
llvm-svn: 24347
2005-11-14 06:54:33 +00:00
Duraid Madina
a60348b6b2 add FP select. next up - divide!
llvm-svn: 24346
2005-11-14 01:17:30 +00:00
Chris Lattner
5cafdc4edc Add some dummy method impls
llvm-svn: 24345
2005-11-13 03:26:33 +00:00
Chris Lattner
e30379e377 Shrink derived types by 8 bytes each by not having to have 2 vtables pointers
and other MI overhead.

llvm-svn: 24344
2005-11-13 03:26:12 +00:00
Chris Lattner
4584142363 Move some methods around. Refactor the parts of TypeMap that do not depend
on its template arguments into a base class so that the code isn't duplicated
5 times.

llvm-svn: 24343
2005-11-13 03:14:09 +00:00
Chris Lattner
6204629107 Refactor some code, moving methods and data around. This gets rid of some
virtual methods.

llvm-svn: 24342
2005-11-13 03:13:26 +00:00
Chris Lattner
709e9dbc46 typeo
llvm-svn: 24341
2005-11-13 02:09:55 +00:00
Chris Lattner
150cfb2968 Split the type refinement case completely out of the type-becomes-concrete
case, simplifying the code.

llvm-svn: 24340
2005-11-13 01:58:06 +00:00
Chris Lattner
33c47ef08b unbreak the build
llvm-svn: 24339
2005-11-13 01:45:23 +00:00
Chris Lattner
6e3f8ee849 Separate the type-became-concrete case from the type-is-resolved case, the
former of which takes much less work than the later.  This speeds up linking
eon from 3.749 to 3.637s with a release build (about 3%).

llvm-svn: 24338
2005-11-13 01:27:50 +00:00
Andrew Lenharth
a48f1faced enable LSR by default on alpha
llvm-svn: 24337
2005-11-12 19:21:08 +00:00
Andrew Lenharth
5f39d85ce3 fix more regressions
llvm-svn: 24335
2005-11-12 19:06:28 +00:00
Andrew Lenharth
a9a8011c34 fix READCYCLECOUNTER
llvm-svn: 24334
2005-11-12 19:04:09 +00:00
Chris Lattner
dc38dae8b5 this is no apparently passing on alpha
llvm-svn: 24331
2005-11-12 18:35:13 +00:00
Chris Lattner
0ad610671f trivial cleanup
llvm-svn: 24330
2005-11-12 18:34:09 +00:00
Chris Lattner
a8fcbe17d7 Fix reading LLVM 1.3 bc files.
llvm-svn: 24329
2005-11-12 18:31:54 +00:00
Chris Lattner
da1a853a49 regenerate
llvm-svn: 24328
2005-11-12 18:22:38 +00:00