Commit Graph

9399 Commits

Author SHA1 Message Date
Chris Lattner 6c237bcdf2 Do not insert one entry PHI nodes in split exit blocks!
llvm-svn: 10348
2003-12-09 23:12:55 +00:00
Brian Gaeke ddc088a9e4 Check in the llvm-native-gcc script, which I use in the process of
debugging front-end miscompilations.

llvm-svn: 10347
2003-12-09 22:23:24 +00:00
Chris Lattner 720348331c Add a new testcase which breaks the sinker because the loop canonnicalization
pass does not do a canonnicalization that the sinker wants.

llvm-svn: 10346
2003-12-09 22:05:08 +00:00
Chris Lattner b7924b166a Fix buggy test
llvm-svn: 10345
2003-12-09 21:45:23 +00:00
Chris Lattner 88ca84b809 New testcase for sinking operations from loops with multiple exits
llvm-svn: 10344
2003-12-09 21:40:36 +00:00
Chris Lattner eea64fd916 Make the test a bit harder so that we test to ensure that _both_ instructions
are sunk

llvm-svn: 10343
2003-12-09 20:50:20 +00:00
Chris Lattner 65c1193d55 Refactor code a little bit, eliminating the gratuitous InstVisitor, which
should make subsequent changes simpler.  This also allows us to hoist vaarg
and vanext instructions

llvm-svn: 10342
2003-12-09 19:32:44 +00:00
Chris Lattner c05176843e Fine grainify namespacification
Code cleanups
Make LICM::SafeToHoist marginally more efficient

llvm-svn: 10341
2003-12-09 17:18:00 +00:00
Chris Lattner d719cd1e5b New testcases for LICM improvement: code sinking.
llvm-svn: 10339
2003-12-09 16:56:51 +00:00
Chris Lattner 9056881d76 Improve portability with Mac OS/X
llvm-svn: 10338
2003-12-09 16:49:12 +00:00
Chris Lattner 9c9240447b Improve testcase portability on OS/X
llvm-svn: 10337
2003-12-09 16:48:24 +00:00
Chris Lattner db677331f2 New testcase that is not actually handled yet, but should be in the future.
This is here to remind me to get back to this after a while.

llvm-svn: 10336
2003-12-09 16:26:42 +00:00
John Criswell 7dd715180d Added the -h option for compatibility with other linkers.
llvm-svn: 10335
2003-12-09 15:39:11 +00:00
Chris Lattner 18b6f0f46d Whoops, forgot to check this in. :)
llvm-svn: 10334
2003-12-08 23:41:09 +00:00
Chris Lattner 50663a1a78 Implement: TailCallElim/accum_recursion_constant_arg.ll
Also make sure to clean up any PHI nodes that are inserted which are pointless.

llvm-svn: 10333
2003-12-08 23:37:35 +00:00
Chris Lattner 198e620752 Implement: test/Regression/Transforms/TailCallElim/accum_recursion.ll
We now insert accumulator variables as necessary to eliminate tail recursion
more aggressively.  This is still fairly limited, but allows us to transform
fib/factorial, and other functions into nice happy loops.  :)

llvm-svn: 10332
2003-12-08 23:19:26 +00:00
Chris Lattner 3c31f8c5c3 New testcase for automatic insertion of accumulator variables to eliminate
tail recursion

llvm-svn: 10331
2003-12-08 23:16:25 +00:00
Chris Lattner b662b064f6 Add a missing semi colon, which breaks bison 1.5
llvm-svn: 10325
2003-12-08 20:15:33 +00:00
Chris Lattner 102779e12a Simplify makefiles by just explicitly listing directories
llvm-svn: 10324
2003-12-08 20:12:46 +00:00
John Criswell ffc722a7f3 Updated build instructions for Sparc.
llvm-svn: 10323
2003-12-08 19:59:14 +00:00
John Criswell beb0b29871 Fixed the dynamic generation of the list of subdirectories to compile.
llvm-svn: 10322
2003-12-08 17:52:32 +00:00
Chris Lattner 86ad4c05d0 implement method
llvm-svn: 10321
2003-12-08 08:23:04 +00:00
Chris Lattner e6492f1057 Use the new method, though noone currently implements it any better than before
llvm-svn: 10320
2003-12-08 08:22:48 +00:00
Chris Lattner d71a033370 add two new virtual functions:
The first returns a function pointer or a stub if it's not already generated
  The second exposes what was previously JIT specific state to general clients

llvm-svn: 10319
2003-12-08 08:22:01 +00:00
Chris Lattner c0e1b071b9 Finegrainify namespacification
llvm-svn: 10318
2003-12-08 08:06:28 +00:00
Chris Lattner bd7356a5d3 Makefile updates contributed by Reid
llvm-svn: 10317
2003-12-08 07:08:00 +00:00
Chris Lattner d2a55f3041 New bug
llvm-svn: 10316
2003-12-08 06:33:19 +00:00
Misha Brukman d899432617 `effect' is the noun, `affect' is the verb.
llvm-svn: 10315
2003-12-08 06:22:05 +00:00
Chris Lattner b8d989e055 New testcase for PR165
llvm-svn: 10314
2003-12-08 06:18:37 +00:00
Chris Lattner 408916bc32 Add note about sucky suse compiler
llvm-svn: 10313
2003-12-08 05:43:19 +00:00
Chris Lattner a7b6f3ab9c Cleanup and restructure the code to make it easier to read and maintain.
The only functionality change is that we now implement:
  Regression/Transforms/TailCallElim/intervening-inst.ll

Which is really kinda pointless, because it means that trivially dead code
does not interfere with -tce, but trivially dead code probably wouldn't be
around anytime when this pass is run anyway.

The point of including this change it to support other more aggressive
transformations when we have the analysis capabilities to do so.

llvm-svn: 10312
2003-12-08 05:34:54 +00:00
Chris Lattner 82ac26c8ba New testcase, this should be -tailcallelim'inated
llvm-svn: 10311
2003-12-08 05:32:48 +00:00
Chris Lattner 16f1a8f761 Since ssaification of the varargs builtings, the vaarg instruction no longer
can write to memory.

llvm-svn: 10310
2003-12-08 05:29:33 +00:00
Brian Gaeke ed16349810 Regenerated using autoheader-2.57
llvm-svn: 10309
2003-12-08 00:57:01 +00:00
Chris Lattner 69d47e7314 Bugpoint had appalingly bad grammar. Fix some of it.
llvm-svn: 10308
2003-12-07 02:43:09 +00:00
Chris Lattner 233b069113 Do not leave a bunch of crud lying around
llvm-svn: 10307
2003-12-07 02:31:03 +00:00
Chris Lattner b762ddbdf1 It is now after pldi. This issue has been fixed, so remove the hack
llvm-svn: 10306
2003-12-07 01:44:18 +00:00
Chris Lattner 771804b541 Implement RaiseAllocations/FreeCastConstantExpr.ll
llvm-svn: 10305
2003-12-07 01:42:08 +00:00
Chris Lattner ffb2d08c4a New testcase that the raiseallocations pass should be able to handle.
llvm-svn: 10304
2003-12-07 01:25:36 +00:00
Chris Lattner 8427bffb9a * Finegrainify namespacification
* Transform: free <ty>* (cast <ty2>* X to <ty>*) into free <ty2>* X

llvm-svn: 10303
2003-12-07 01:24:23 +00:00
Chris Lattner d1ea9cd345 The recalclulate method was a nasty hack that was once used by the -cee pass,
which never worked itself.  The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.

llvm-svn: 10302
2003-12-07 00:55:32 +00:00
Chris Lattner 00f5167693 Completely rewrite domset, idom, and domtree implementation. Now it is based
on the algorithm for directly computing immediate dominators presented in this
paper:

  A Fast Algorithm for Finding Dominators in a Flowgraph
  T. Lengauer & R. Tarjan, ACM TOPLAS July 1979, pgs 121-141.

This _substantially_ speeds up construction of all dominator related information.
Post-dominators to follow.

llvm-svn: 10301
2003-12-07 00:38:08 +00:00
Chris Lattner 31b77bbf7e Rewrite dominators implementation. Now domset is constructed from immdom,
instead of the other way around.

llvm-svn: 10300
2003-12-07 00:36:16 +00:00
Chris Lattner f9f7c2d302 Finegrainify namespacification
Move method out of generic dominators construction code

llvm-svn: 10299
2003-12-07 00:35:42 +00:00
Chris Lattner d48220fabe Move this method out of the generic dominators calculation code
llvm-svn: 10298
2003-12-07 00:35:19 +00:00
Tanya Lattner c970a38824 New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended, in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the ocorrect ar format.
llvm-svn: 10297
2003-12-06 23:01:25 +00:00
Chris Lattner dca8b84bde Stop using the -fshort-enum compile option
llvm-svn: 10296
2003-12-06 20:59:45 +00:00
Chris Lattner d98fecb76e Fix awkward wording
llvm-svn: 10295
2003-12-06 20:24:46 +00:00
Chris Lattner ba7bd4720d Cleanup the release notes in preparation for the release.
llvm-svn: 10294
2003-12-06 20:22:41 +00:00
Brian Gaeke 7ee7b40af5 Add check for pthread_mutex_lock() in -lpthread (or otherwise).
Regenerated configure w/ autoconf-2.57.

llvm-svn: 10293
2003-12-05 19:29:01 +00:00