Commit Graph

27813 Commits

Author SHA1 Message Date
Chris Lattner 1121e50f7e teach the g5 hazard recognizer about update loads. This fixes
Ptrdist/anagram among others.

llvm-svn: 31708
2006-11-13 20:11:06 +00:00
Reid Spencer 3d1027193f For PR950:
Changes for new cast instructions that are backwards compatible.

llvm-svn: 31707
2006-11-13 18:00:52 +00:00
Reid Spencer 7354395590 Don't hard code test names into the test.
llvm-svn: 31706
2006-11-13 17:55:34 +00:00
Reid Spencer 83c7a1e710 Fix 80 cols violations.
llvm-svn: 31705
2006-11-13 16:21:09 +00:00
Reid Spencer 5953e4e805 For PR950:
Use the notcast script in preparation for 12 casts.

llvm-svn: 31704
2006-11-13 16:13:38 +00:00
Reid Spencer 6170dff047 For PR950:
Use the notcast script in preparation for 12 cast instructions.

llvm-svn: 31703
2006-11-13 16:12:25 +00:00
Reid Spencer 7debe5e948 Make it handle plain old cast too, for old assembly.
llvm-svn: 31702
2006-11-13 16:11:14 +00:00
Reid Spencer 6f406f91d2 Handle ptrtoint and inttoptr
llvm-svn: 31701
2006-11-13 16:09:37 +00:00
Reid Spencer cac60e8eb4 Add some output so the user is informed while they wait.
llvm-svn: 31700
2006-11-13 16:08:51 +00:00
Reid Spencer e473e41e59 Add a link to the GEP FAQ.
llvm-svn: 31698
2006-11-13 08:03:59 +00:00
Chris Lattner 5c833df633 remove redundant code
llvm-svn: 31697
2006-11-13 01:10:12 +00:00
Nick Lewycky 0df2ada9d4 Cute example from Chris Lattner.
llvm-svn: 31696
2006-11-13 00:23:28 +00:00
Bill Wendling ad75361d42 Initialize some pointers to quiet the compiler (when doing build_gcc
builds).

llvm-svn: 31694
2006-11-12 11:10:39 +00:00
Reid Spencer 5b9506439a Document new constant expr operators, rename bitconvert as bitcast.
llvm-svn: 31693
2006-11-11 23:08:07 +00:00
Reid Spencer b608daeec3 Revert premature patch.
llvm-svn: 31692
2006-11-11 23:06:47 +00:00
Reid Spencer 8b8913ba61 Document new constant expr operators, rename bitconvert as bitcast.
llvm-svn: 31691
2006-11-11 22:34:59 +00:00
Jim Laskey 1dfc6110ff Make sure stack link is set in 64-bit.
llvm-svn: 31690
2006-11-11 22:22:07 +00:00
Jim Laskey a3262ee8ec XFAIL All but powerpc
llvm-svn: 31689
2006-11-11 22:14:46 +00:00
Reid Spencer b7344ff025 Add a preview of two new conversion operators: ptrtoint and inttoptr. Update
the defintion of bitconvert correspondingly.

llvm-svn: 31688
2006-11-11 21:00:47 +00:00
Reid Spencer 06d8e0fa3b Remvoe a do-nothing else block.
llvm-svn: 31687
2006-11-11 20:27:49 +00:00
Reid Spencer 2230144a75 Make an assert comment match the tested assertion.
llvm-svn: 31686
2006-11-11 20:07:59 +00:00
Reid Spencer 3005d47797 Minor style fixes from review.
llvm-svn: 31685
2006-11-11 19:59:25 +00:00
Chris Lattner 0d550cc56c implement proper PPC64 prolog/epilog codegen.
llvm-svn: 31684
2006-11-11 19:05:28 +00:00
Reid Spencer 471bcb750e Add a -disable-loop-extraction option to bugpoint.
llvm-svn: 31683
2006-11-11 19:05:02 +00:00
Reid Spencer 75db664f44 For PR998:
Fix an infinite loop in the Linker and a few other assorted link problems.

Patch contributed by Scott Michel. Thanks, Scott!

llvm-svn: 31680
2006-11-11 11:54:25 +00:00
Jim Laskey ebdf6f46eb Works for PowerPC with frame pointers.
llvm-svn: 31679
2006-11-11 10:22:56 +00:00
Reid Spencer 2e80be8251 Add -lstdc++ to the link line for C++ programs.
llvm-svn: 31678
2006-11-11 10:22:48 +00:00
Jim Laskey 66c502b54a Running with frame pointers prevented debugging, external probes and
potentially some system calls/exception handling from working.  TOS must always
link to previous frame.  This is a short term workaround until alloca scheme is
reworked.

llvm-svn: 31677
2006-11-11 10:21:58 +00:00
Evan Cheng db04c958a5 Add implicit use / def operands to created MI's.
llvm-svn: 31676
2006-11-11 10:21:44 +00:00
Evan Cheng 979bbf48d5 Add methods to add implicit def use operands to a MI.
llvm-svn: 31675
2006-11-11 10:20:02 +00:00
Evan Cheng a36cdcfaf8 Add all implicit defs to FP_REG_KILL mi.
llvm-svn: 31674
2006-11-11 07:19:36 +00:00
Chris Lattner c5102bfc7c allow the offset of a preinc'd load to be the low-part of a global. This
produces this clever code:

_millisecs:
        lis r2, ha16(_Time.1182)
        lwzu r3, lo16(_Time.1182)(r2)
        lwz r2, 4(r2)
        addic r4, r2, 1
        addze r3, r3
        blr

instead of this:

_millisecs:
        lis r2, ha16(_Time.1182)
        la r3, lo16(_Time.1182)(r2)
        lwz r2, lo16(_Time.1182)(r2)
        lwz r3, 4(r3)
        addic r4, r3, 1
        addze r3, r2
        blr

for:

long %millisecs() {
        %tmp = load long* %Time.1182            ; <long> [#uses=1]
        %tmp1 = add long %tmp, 1                ; <long> [#uses=1]
        ret long %tmp1
}

llvm-svn: 31673
2006-11-11 04:53:30 +00:00
Chris Lattner 2ff632c54b Mark operands as symbol lo instead of imm32 so that they print lo(x) around
globals.

llvm-svn: 31672
2006-11-11 04:51:36 +00:00
Devang Patel 1a6eaa49fe Implement schedulePasses().
llvm-svn: 31671
2006-11-11 02:22:31 +00:00
Devang Patel db789fb8f2 Implement PassManagerImpl_New::add().
Just add pass into the pass manager queue without processing analysis.

llvm-svn: 31670
2006-11-11 02:06:21 +00:00
Devang Patel 90b05e0bc3 While adding pass into the manager, process Analysis only if it is
required to do so.

llvm-svn: 31669
2006-11-11 02:04:19 +00:00
Devang Patel 2efbad4a72 Remove dead code.
llvm-svn: 31668
2006-11-11 01:56:39 +00:00
Devang Patel 8cad70de14 Code refactoring. Move common code into CommonPassManagerImpl :)
llvm-svn: 31667
2006-11-11 01:51:02 +00:00
Devang Patel a98445962d Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
llvm-svn: 31666
2006-11-11 01:31:05 +00:00
Devang Patel 349170f5da Remove analysis that is not preserved by the pass from AvailableAnalysis.
llvm-svn: 31665
2006-11-11 01:24:55 +00:00
Devang Patel 643676c1f5 Keep track if analysis made available by the pass.
llvm-svn: 31664
2006-11-11 01:10:19 +00:00
Reid Spencer e183ed753f Instruction name changes.
llvm-svn: 31663
2006-11-11 01:04:13 +00:00
Reid Spencer 279a3aefc3 Enable path completion when typing the TESTSUITE= option by allowing the
test directory to precede the test suite name. That is, it will strip off
test/ from TESTSUITE which allows path completion from the command line.

llvm-svn: 31662
2006-11-11 01:02:45 +00:00
Chris Lattner a0a8003f59 disallow preinc of a frameindex. This is not profitable and causes 2-addr
pass to explode.  This fixes a bunch of llc-beta failures on ppc last night.

llvm-svn: 31661
2006-11-11 01:00:15 +00:00
Chris Lattner eabc15c1d8 reduce indentation by using early exits. No functionality change.
llvm-svn: 31660
2006-11-11 00:56:29 +00:00
Devang Patel 6c9f548704 Keep track of analysis required by the passes. Force use of new pass
manager if a pass does not preserve analysis that is used by other
passes.

llvm-svn: 31659
2006-11-11 00:42:16 +00:00
Chris Lattner ffad2166e1 move big chunks of code out-of-line, no functionality change.
llvm-svn: 31658
2006-11-11 00:39:41 +00:00
Chris Lattner e15018b8b7 enable this test, check ppc64 as well.
llvm-svn: 31657
2006-11-11 00:13:07 +00:00
Chris Lattner b314b155ed ppc64 doesn't have lwau, don't attempt to form it.
llvm-svn: 31656
2006-11-11 00:08:42 +00:00
Reid Spencer d185c02007 Allow ENABLE_OPTIMIZED=0 to turn off optimization (turn on debug).
llvm-svn: 31655
2006-11-11 00:00:31 +00:00