Commit Graph

11538 Commits

Author SHA1 Message Date
Chris Lattner
ed7a7d20c9 We actually don't have spiff anymore
llvm-svn: 12929
2004-04-13 20:59:47 +00:00
Chris Lattner
9a3ac1a956 Out with spiff, in with fpcmp
llvm-svn: 12928
2004-04-13 20:59:24 +00:00
Chris Lattner
e542c1c422 Remove spiff. Though it looked good, it was not really as spiffy as it seemed
llvm-svn: 12927
2004-04-13 20:58:42 +00:00
Chris Lattner
5613bcc258 Okay, spiff is completely incapable of handling files of nontrivial size.
Here is a simple minimal program that does what we want.  Instead of taking
minutes to compare mesa's output, and crashing on binary files (like spiff
does), this take < .02s in the common case and doesn't crash.

llvm-svn: 12926
2004-04-13 20:55:49 +00:00
Chris Lattner
cb5e795f1f Add a note
llvm-svn: 12922
2004-04-13 19:48:55 +00:00
Chris Lattner
ff9362a8da Add SCCP support for constant folding calls, implementing:
test/Regression/Transforms/SCCP/calltest.ll

llvm-svn: 12921
2004-04-13 19:43:54 +00:00
Chris Lattner
9d42084081 New testcase
llvm-svn: 12920
2004-04-13 19:43:33 +00:00
Chris Lattner
ca52d0468e Add a simple call constant propagation interface.
llvm-svn: 12919
2004-04-13 19:28:52 +00:00
Chris Lattner
7dacdb6f13 Add new interfaces
llvm-svn: 12918
2004-04-13 19:28:32 +00:00
Chris Lattner
d0dc6d5295 Constant propagation should remove the dead instructions
llvm-svn: 12917
2004-04-13 19:28:20 +00:00
Chris Lattner
e3debac3cd New testcase
llvm-svn: 12916
2004-04-13 19:28:09 +00:00
Brian Gaeke
9a79ed7b89 Regenerated using autoconf-2.57.
llvm-svn: 12915
2004-04-13 19:03:49 +00:00
Brian Gaeke
fca4720590 Rewrite POV-Ray check as per PR301
llvm-svn: 12914
2004-04-13 19:02:51 +00:00
Chris Lattner
becf6365d6 Increase buffer size again. *sigh*
llvm-svn: 12912
2004-04-13 18:43:18 +00:00
Chris Lattner
f37bd007e4 Don't index spiff. It should not count as lines of LLVM code
llvm-svn: 12911
2004-04-13 18:37:51 +00:00
Chris Lattner
763596e28d Fixed sized limits are bad... duh.
llvm-svn: 12908
2004-04-13 18:34:16 +00:00
Chris Lattner
7b9733dac2 Really spiff, don't chatter :)
llvm-svn: 12907
2004-04-13 18:33:21 +00:00
Brian Gaeke
6f6e4b9f59 I don't think we have to have 4 extra allocated (but unused) bytes on the stack.
llvm-svn: 12905
2004-04-13 18:28:37 +00:00
Brian Gaeke
969795b4ea I started working on casts, but I don't have anything compilable yet.
llvm-svn: 12903
2004-04-13 18:27:46 +00:00
Brian Gaeke
bacab88d42 Don't underline diffs
llvm-svn: 12902
2004-04-13 18:24:01 +00:00
Chris Lattner
c71b096672 Emit the immediate form of in/out when possible.
Fix several bugs in the intrinsics:
  1. Make sure to copy the input registers before the instructions that use them
  2. Make sure to copy the value returned by 'in' out of EAX into the register
     it is supposed to be in.

This fixes assertions when using in/out and linear scan.

llvm-svn: 12896
2004-04-13 17:20:37 +00:00
Chris Lattner
a340febe52 Add immediate forms of in/out. Use let to shorten lines
llvm-svn: 12895
2004-04-13 17:19:31 +00:00
Chris Lattner
eaa28a29ae Add support for new instruction type
llvm-svn: 12894
2004-04-13 17:18:51 +00:00
Chris Lattner
27b2e2cdc0 Add support for the printImplicitDefsBefore flag
llvm-svn: 12893
2004-04-13 17:18:39 +00:00
Chris Lattner
e342a8ef49 Make the testcase more challenging
llvm-svn: 12892
2004-04-13 17:18:07 +00:00
Chris Lattner
34fba8eb00 Reenable library now that the loopsimplify bug is fixed
llvm-svn: 12891
2004-04-13 16:24:53 +00:00
Chris Lattner
89e959bb1f Fix LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll
LoopSimplify was not updating dominator frontiers correctly in some cases.

llvm-svn: 12890
2004-04-13 16:23:25 +00:00
Chris Lattner
a7aeb506dd New testcase where loop simplify is not updating domfrontiers correctly
llvm-svn: 12889
2004-04-13 16:22:04 +00:00
Chris Lattner
a6e22814ab Refactor code a bit to make it simpler and eliminate the goto
llvm-svn: 12888
2004-04-13 15:21:18 +00:00
Chris Lattner
54dcea809f Add notes about some of the code quality improvements that have gone in
llvm-svn: 12887
2004-04-13 14:43:35 +00:00
Chris Lattner
277f7e6ebc Temporary hack to get the nightly tester running
llvm-svn: 12886
2004-04-13 13:57:29 +00:00
John Criswell
ed868e14ff Added Spiff.
llvm-svn: 12885
2004-04-13 13:42:38 +00:00
Chris Lattner
8417052938 This patch addresses PR35: Loop simplify should reconstruct nested loops.
This is fairly straight-forward, but was a real nightmare to get just
perfect.  aarg.  :)

llvm-svn: 12884
2004-04-13 05:05:33 +00:00
Brian Gaeke
ff27406cf9 Clean up the Spiff code so that it emits fewer warnings. This
consists mostly of changing sloppy K&R C code to slightly more
disciplined K&R C code, and doing the usual things to shut gcc up.

llvm-svn: 12877
2004-04-13 03:24:45 +00:00
Brian Gaeke
2ec7dfc278 Build Spiff directory
llvm-svn: 12876
2004-04-12 22:53:51 +00:00
Brian Gaeke
4ae2642fd4 Add the Spiff fp-aware diff utility from Bellcore
llvm-svn: 12875
2004-04-12 22:53:24 +00:00
Brian Gaeke
bb0f2db881 We don't need to insert TargetData into the PassManager here.
llvm-svn: 12874
2004-04-12 21:46:31 +00:00
Chris Lattner
176b4c2439 new testcase
llvm-svn: 12873
2004-04-12 20:59:07 +00:00
Alkis Evlogimenos
8f2df3aa3c Fix bug introduced in previous commit.
llvm-svn: 12872
2004-04-12 20:26:39 +00:00
Chris Lattner
55b7ef5a81 Add some methods that are useful for updating loop information.
llvm-svn: 12871
2004-04-12 20:26:17 +00:00
Alkis Evlogimenos
7ab640fdcb Update testcase to illustrate the coalescing problem. The previous one did not work because of a fix in the x86 instruction selector.
llvm-svn: 12870
2004-04-12 19:04:22 +00:00
Alkis Evlogimenos
0ede7ec4f8 Correctly compute spill weights
llvm-svn: 12869
2004-04-12 17:39:20 +00:00
John Criswell
b7147b33a0 Added testcase for the llvm.readport and llvm.writeport intrinsics.
llvm-svn: 12868
2004-04-12 16:42:43 +00:00
John Criswell
7a57647f97 Corrected the descriptions of the llvm.writeport and llvm.writeio
intrinsics.

Modified llvm.readio and llvm.writeio to use pointers to memory instead
of integers.  This should take care of problems such as different pointer
sizes, casting integers to pointers, weird architectural pointer types, etc.

Re-worded the description of llvm.readio and llvm.writeio so that it should
be more clear as to why they should be used over regular loads/stores for
I/O.

llvm-svn: 12867
2004-04-12 16:33:19 +00:00
Alkis Evlogimenos
b753c8c9c5 Print def lists a bit more compactly
llvm-svn: 12866
2004-04-12 15:57:58 +00:00
Alkis Evlogimenos
70bbce62b1 Add same value coalescing testcase
llvm-svn: 12865
2004-04-12 15:40:25 +00:00
John Criswell
a450122ebf Added initial design for the llvm.readio and llvm.writeio intrinsics.
llvm-svn: 12864
2004-04-12 15:02:16 +00:00
Chris Lattner
a2b279e89c Add a couple more IPO's
llvm-svn: 12863
2004-04-12 05:38:15 +00:00
Chris Lattner
0a7526470b finegrainify namespacification
llvm-svn: 12862
2004-04-12 05:38:01 +00:00
Chris Lattner
be43544429 Actually update the call graph as the inliner changes it. This allows us to
execute other CallGraphSCCPasses after the inliner without crashing.

llvm-svn: 12861
2004-04-12 05:37:29 +00:00