Commit Graph

20980 Commits

Author SHA1 Message Date
Chris Lattner 840458276c Add globaladdress and targetglobaladdress nodes for dag patterns
llvm-svn: 24389
2005-11-17 07:20:15 +00:00
Chris Lattner 63ed749ce0 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 45ca1c0194 Allow targets to custom legalize leaf nodes like GlobalAddress.
llvm-svn: 24387
2005-11-17 06:41:44 +00:00
Chris Lattner b7025749e1 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 4ff65ec745 Teach legalize about targetglobaladdress
llvm-svn: 24385
2005-11-17 05:52:24 +00:00
Chris Lattner 2bf458af92 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 b22950df6c 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 5930d3df3d 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 59eefd4787 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 b1ded32f3b This passes on ppc and x86 now
llvm-svn: 24378
2005-11-16 07:24:31 +00:00
Chris Lattner f2b62f317c when debugging lower dbg intrinsics to calls
llvm-svn: 24377
2005-11-16 07:22:30 +00:00
Chris Lattner 168fe79229 tell selectiondag when we're debugging
llvm-svn: 24376
2005-11-16 07:21:47 +00:00
Chris Lattner 672f1bac59 add a flag
llvm-svn: 24375
2005-11-16 07:21:15 +00:00
Chris Lattner fdc8b19ad6 indicate when a tool is a debug build.
llvm-svn: 24374
2005-11-16 06:36:47 +00:00
Jeff Cohen 4ca13b3f47 Keep Visual Studio building.
llvm-svn: 24373
2005-11-16 06:10:53 +00:00
Chris Lattner 6b41edb30f * 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 655e7dfd0d 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 a171f6b20c 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 67f6f97aed Keep Visual Studio informed of new files.
llvm-svn: 24366
2005-11-15 16:11:55 +00:00
Chris Lattner 3ea1e255f7 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 e64d41def3 Fix some typos noticed by Gabor Greif!
llvm-svn: 24364
2005-11-15 06:07:55 +00:00
Chris Lattner 63985e2892 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 7c727b2736 Fix handling of multiple unnamed globals with the same type
llvm-svn: 24362
2005-11-15 01:32:03 +00:00
Chris Lattner 76ac068568 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 bba9c372c1 Remove extraneous parents around constants when using a constant expr cast.
llvm-svn: 24357
2005-11-15 00:03:16 +00:00
Andrew Lenharth b720e2c29f this file moved
llvm-svn: 24356
2005-11-14 19:32:05 +00:00
Chris Lattner 1a4adc7aee Handle globals with explicit alignment requests
llvm-svn: 24355
2005-11-14 19:00:30 +00:00
Chris Lattner dd8eeed096 Teach emitAlignment to handle explicit alignment requests by globals.
llvm-svn: 24354
2005-11-14 19:00:06 +00:00
Chris Lattner 0aacd2ab9b Teach the PPC asmwriter to honor globals with explicit section requests.
llvm-svn: 24353
2005-11-14 18:52:46 +00:00
Chris Lattner 16cbc6a177 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 8147902625 regenearte
llvm-svn: 24351
2005-11-14 07:25:50 +00:00
Chris Lattner 58cee558fe add malloc_zone_statistics, remove mstats
llvm-svn: 24350
2005-11-14 07:24:17 +00:00
Chris Lattner 698fa760f4 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 973917a3de regenerate
llvm-svn: 24348
2005-11-14 06:57:34 +00:00
Chris Lattner 390ff6e898 add some stuff for mstats on darwin
llvm-svn: 24347
2005-11-14 06:54:33 +00:00
Duraid Madina 76034f95f6 add FP select. next up - divide!
llvm-svn: 24346
2005-11-14 01:17:30 +00:00
Chris Lattner 0333e68f72 Add some dummy method impls
llvm-svn: 24345
2005-11-13 03:26:33 +00:00
Chris Lattner ee8cd4e66d 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 06b453b2dc 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 ffacf337b2 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 d05550a746 typeo
llvm-svn: 24341
2005-11-13 02:09:55 +00:00
Chris Lattner 5c28b96304 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 54c8fcf303 unbreak the build
llvm-svn: 24339
2005-11-13 01:45:23 +00:00
Chris Lattner 708bb251d8 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 ab72424488 enable LSR by default on alpha
llvm-svn: 24337
2005-11-12 19:21:08 +00:00
Andrew Lenharth 2ba45d1ee9 fix more regressions
llvm-svn: 24335
2005-11-12 19:06:28 +00:00
Andrew Lenharth 56526ec1a9 fix READCYCLECOUNTER
llvm-svn: 24334
2005-11-12 19:04:09 +00:00
Chris Lattner b04c88cf05 this is no apparently passing on alpha
llvm-svn: 24331
2005-11-12 18:35:13 +00:00
Chris Lattner 026a5ef177 trivial cleanup
llvm-svn: 24330
2005-11-12 18:34:09 +00:00
Chris Lattner b264c5d4dc Fix reading LLVM 1.3 bc files.
llvm-svn: 24329
2005-11-12 18:31:54 +00:00