Commit Graph

11223 Commits

Author SHA1 Message Date
Chris Lattner 090516fe93 New testcase that crashes the assembler
llvm-svn: 12550
2004-03-30 20:58:00 +00:00
Chris Lattner 1563983d81 Fix some serious bugs in the cmov descriptions, which didn't cause a problem because
we never generated them

Make indentation a bit more consistent

llvm-svn: 12549
2004-03-30 20:18:02 +00:00
Brian Gaeke ef327be6ed Start cleaning up this pass so that I can debug it.
llvm-svn: 12548
2004-03-30 19:53:46 +00:00
Chris Lattner f17d2d33fb Oops, actually USE the previously computed value
llvm-svn: 12547
2004-03-30 19:45:39 +00:00
Chris Lattner fdf3202d69 Test general value/value selection which we can do now that we use the
select instruction

llvm-svn: 12546
2004-03-30 19:45:11 +00:00
Chris Lattner 81bdcb90ce Now that all the code generators support the select instruction, and the instcombine
pass can eliminate many nasty cases of them, start generating them in the optimizers

llvm-svn: 12545
2004-03-30 19:44:05 +00:00
Chris Lattner 533bc49775 Implement select.ll:test[3-6]
llvm-svn: 12544
2004-03-30 19:37:13 +00:00
Chris Lattner b785d280ec Add some testcases for select simplification
llvm-svn: 12543
2004-03-30 19:36:54 +00:00
Chris Lattner 0048e574fb Fix a fairly major performance problem. If a PHI node had a constant as
an incoming value from a block, the selector would evaluate the constant
at the TOP of the block instead of at the end of the block.  This made the
live range for the constant span the entire block, increasing register
pressure needlessly.

llvm-svn: 12542
2004-03-30 19:10:12 +00:00
Chris Lattner 1a0e9ac2f5 Add the select lowering pass to get initial support for select instructions
llvm-svn: 12541
2004-03-30 18:41:59 +00:00
Chris Lattner 059f390257 Add a simple select instruction lowering pass
llvm-svn: 12540
2004-03-30 18:41:10 +00:00
Chris Lattner 55481f78d3 Add some new methods
llvm-svn: 12539
2004-03-30 00:20:08 +00:00
Brian Gaeke fd02378d3e Don't warn about a null live range if the Value is a ConstantIntegral.
Otherwise, if you're in debugging mode, you get warnings for (apparently)
every immediate constant in the function during reg. allocation.

llvm-svn: 12538
2004-03-29 21:58:41 +00:00
Brian Gaeke 2fe0ac9ade Change how the beginnings and ends of MachineFunctions are printed. Get
rid of the funny cast.

llvm-svn: 12537
2004-03-29 21:58:31 +00:00
Chris Lattner 5152b9ed34 Adjust to new itf
llvm-svn: 12534
2004-03-29 20:42:49 +00:00
Chris Lattner 8582975b62 Relax the interface a bit
llvm-svn: 12533
2004-03-29 20:42:38 +00:00
John Criswell fa2f3686a3 Merged in RELEASE_12.
llvm-svn: 12532
2004-03-29 20:23:11 +00:00
John Criswell d2ff5cf7e8 Merged in RELEASE_12.
This fixes the zlib linking problems.

llvm-svn: 12531
2004-03-29 20:22:30 +00:00
Chris Lattner 3cdc27c868 Handle -0.0 correctly
llvm-svn: 12530
2004-03-29 19:51:24 +00:00
Chris Lattner 87d6b404b5 Add a faq entry
llvm-svn: 12529
2004-03-29 19:14:35 +00:00
Chris Lattner 817175f883 Add a bunch of methods that should have been added a long time ago.
llvm-svn: 12526
2004-03-29 02:37:53 +00:00
Chris Lattner 5f126b74d3 Add another check
llvm-svn: 12525
2004-03-29 00:29:36 +00:00
Chris Lattner 587a9f1416 Fix an assertion
Contributed by Reid Spencer

llvm-svn: 12524
2004-03-29 00:17:20 +00:00
Chris Lattner dd7ce6c31a Make error message a bit nicer.
Contributed by Reid Spencer

llvm-svn: 12523
2004-03-29 00:16:01 +00:00
Chris Lattner 04d6d9d606 Add two methods which have been needed for a long time: Type::get(Un)signedVersion
llvm-svn: 12522
2004-03-26 21:43:22 +00:00
Chris Lattner 3aa7b9d08c Make sure to get the headers from zlib correctly
llvm-svn: 12521
2004-03-26 17:04:53 +00:00
Chris Lattner 56b5051428 X % -1 == X % 1 == 0
llvm-svn: 12520
2004-03-26 16:11:24 +00:00
Chris Lattner 57c67b06e9 Two changes:
#1 is to unconditionally strip constantpointerrefs out of
instruction operands where they are absolutely pointless and inhibit
optimization.  GRRR!

#2 is to implement InstCombine/getelementptr_const.ll

llvm-svn: 12519
2004-03-25 22:59:29 +00:00
Chris Lattner 3932cab427 New testcase
llvm-svn: 12518
2004-03-25 22:59:06 +00:00
Chris Lattner 82d34eb470 Minor efficiency improvement, finegrainify namespacification
llvm-svn: 12517
2004-03-25 22:56:03 +00:00
Chris Lattner 998c0674be Add note about setting up linux systems to directly execute LLVM bytecode files
Fixes PR303

llvm-svn: 12516
2004-03-25 20:38:40 +00:00
Chris Lattner 3922d607a5 Hrm, we were leaking ~1M of garbage that valgrind never told us about because
it was "reachable".  Cute.

llvm-svn: 12515
2004-03-19 23:34:33 +00:00
Chris Lattner 9e0b81c3e0 Add a dose of reality into the release notes
llvm-svn: 12510
2004-03-19 19:22:28 +00:00
Chris Lattner abb77c9959 Teach the optimizer to delete zero sized alloca's (but not mallocs!)
llvm-svn: 12507
2004-03-19 06:08:10 +00:00
Chris Lattner 597f1da506 New testcase, the optimizer can delete zero sized allocas
llvm-svn: 12506
2004-03-19 06:07:43 +00:00
Chris Lattner 91f297d4fe Perhaps the last bugfix before the release? HOPEFULLY! :)
llvm-svn: 12505
2004-03-19 04:26:04 +00:00
Chris Lattner ba6641d598 Fix PR299: [Sparc] Code generator asserts on alloc of zero size type
llvm-svn: 12504
2004-03-19 04:21:43 +00:00
Chris Lattner 6ca9b89abb Malloc doesn't kill a load. This patch need not go into 1.2 though.
llvm-svn: 12500
2004-03-18 17:01:26 +00:00
Chris Lattner 0b41ebe65c Fix a minor wording bug in the manual
llvm-svn: 12496
2004-03-18 14:58:55 +00:00
Chris Lattner 211ae0bf05 This is the last remaining bug that I know of in the loop extractor. The loop
extractor has extracted hundreds of loops from the SPEC benchmarks without crashing
and without misoptimizing the programs.

This testcase could be reduced substantially more by hand, but I don't have time
to work on it right now.

llvm-svn: 12495
2004-03-18 06:41:59 +00:00
Chris Lattner dc47e27188 Fix a really nasty bug that was breaking ijpeg in LLC mode. We were incorrectly
folding load instructions into other instructions across free instruction
boundaries.  Perhaps this will also fix the other strange failures?

llvm-svn: 12494
2004-03-18 06:29:54 +00:00
Chris Lattner 232155dc1b Fix bug: CodeExtractor/2004-03-17-MissedLiveIns.ll
With this fix we now successfully extract all 149 loops from 256.bzip2 without
crashing or miscompiling the program!

llvm-svn: 12493
2004-03-18 05:56:32 +00:00
Chris Lattner 2bcfcc90c8 New testcase, reduced from 256.bzip2
llvm-svn: 12492
2004-03-18 05:55:29 +00:00
Chris Lattner e83693560a Add statistics to the loop extractor. The loop extractor has successfully
extracted all 63 loops for Olden/bh without crashing and without
miscompiling the program!!!

llvm-svn: 12491
2004-03-18 05:46:10 +00:00
Chris Lattner 5bce0c807d Fix problem with PHI nodes having multiple predecessors from different
exit nodes

llvm-svn: 12490
2004-03-18 05:43:18 +00:00
Chris Lattner acd75986ee Fix CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll
llvm-svn: 12489
2004-03-18 05:38:31 +00:00
Chris Lattner 4c7fcbf77b New testcase
llvm-svn: 12488
2004-03-18 05:33:39 +00:00
Chris Lattner 320d59f4cd Seriously simplify and correct the PHI node handling code.
llvm-svn: 12487
2004-03-18 05:28:49 +00:00
Chris Lattner d8017a340d Fix CodeExtractor/2004-03-17-OutputMismatch.ll
llvm-svn: 12486
2004-03-18 04:12:05 +00:00
Chris Lattner b7b099d569 New testcase that crashes the code extractor
llvm-svn: 12485
2004-03-18 04:10:02 +00:00