Commit Graph

31724 Commits

Author SHA1 Message Date
Reid Spencer
ba09f90ddc End of life for gccld. Remove its source code and enable the generation
of a shell script to stand in its place. The shell script just pawns the
execution off to llvm-ld.

llvm-svn: 34090
2007-02-09 15:21:02 +00:00
Reid Spencer
a7bbb0ed70 Write the deprecation message to stderr instead of stdout so that it
doesn't get mingled with the output bytecode.

llvm-svn: 34089
2007-02-09 15:16:59 +00:00
Reid Spencer
a83a1dc3dd Eliminate the use of gccas in the test suite.
llvm-svn: 34088
2007-02-09 15:15:21 +00:00
Reid Spencer
2193b85ab0 Write the deprecation message to stderr instead of stdout so that it
doesn't get mingled with the output bytecode.

llvm-svn: 34087
2007-02-09 15:10:26 +00:00
Chris Lattner
02be9919ab remove unneeded #includes
llvm-svn: 34086
2007-02-09 07:54:13 +00:00
Chris Lattner
b3905c70c4 remove dead code, the outputConstants function is now only called at module scope.
llvm-svn: 34085
2007-02-09 07:53:20 +00:00
Chris Lattner
fc30d1bb69 1. constants can never occur in the symbol table.
2. All function-level constants are now incorporated into the module-level
  constant pool, since the compaction table was removed.  Eliminate extra
  work to check for them.

This speeds up the bcwriter from 24.4s to 13.1s on 447.dealII and .73 -> .56s
on kc++ in a release build.

llvm-svn: 34084
2007-02-09 07:51:47 +00:00
Zhou Sheng
e93db8fba2 Eliminates friend function declaration inside APInt, instead, adds public
methods as those global function's internal implementation.

llvm-svn: 34083
2007-02-09 07:48:24 +00:00
Chris Lattner
133ae0b2a6 Add ppc-specific test for better i64 compare codegen.
llvm-svn: 34082
2007-02-09 04:49:46 +00:00
Nate Begeman
ba52b94fa2 Remove fixed item
llvm-svn: 34081
2007-02-09 04:19:54 +00:00
Reid Spencer
7ff39512a2 Fix some formatting mistakes.
llvm-svn: 34080
2007-02-09 04:15:08 +00:00
Reid Spencer
ddef5ab074 Merge gccld documentation in here. gccld will go away soon.
llvm-svn: 34079
2007-02-09 04:12:51 +00:00
Reid Spencer
690a9f105f Put in a disabled template for when gccld is replaced by the shell script.
llvm-svn: 34076
2007-02-09 03:15:18 +00:00
Reid Spencer
7eca5e3d19 Get the right warning message.
llvm-svn: 34075
2007-02-09 03:12:21 +00:00
Reid Spencer
6c302d8403 New shell script to replace gccld, eventually.
llvm-svn: 34074
2007-02-09 03:09:26 +00:00
Reid Spencer
1ed974aded Clean up error handling.
llvm-svn: 34073
2007-02-09 03:08:06 +00:00
Evan Cheng
f76bb63555 This is done.
llvm-svn: 34072
2007-02-08 23:53:38 +00:00
Evan Cheng
815c25d191 i64 setcc tests.
llvm-svn: 34067
2007-02-08 22:27:55 +00:00
Evan Cheng
93049457ee Make use of TLI.SimplifySetCC() in LegalizeSetCCOperands().
llvm-svn: 34066
2007-02-08 22:16:19 +00:00
Evan Cheng
92658d5648 Move SimplifySetCC to TargetLowering and allow it to be shared with legalizer.
llvm-svn: 34065
2007-02-08 22:13:59 +00:00
Chris Lattner
751a42010b Rename CStringMap -> StringMap, since it now supports nul characters in the
strings.

llvm-svn: 34064
2007-02-08 19:20:57 +00:00
Chris Lattner
d81d7be3cd update this.
llvm-svn: 34063
2007-02-08 19:14:21 +00:00
Chris Lattner
259ba20bd8 Allow cstringmap to contain strings with nul characters in them.
llvm-svn: 34062
2007-02-08 19:08:37 +00:00
Reid Spencer
5d211e24d9 For PR1153:
Copy a couple more missing options from gccld to llvm-ld.

llvm-svn: 34061
2007-02-08 19:03:11 +00:00
Reid Spencer
55717ece1e For PR1153:
Make llvm-ld more gccld-like by having it run the same set of passes. The
delta was probably due to lack of llvm-ld being maintained. Just another
reason to have only one optimizing linker in in LLVM.

llvm-svn: 34058
2007-02-08 18:13:59 +00:00
Andrew Lenharth
9a4a1515ee return addresses, those I already have
llvm-svn: 34056
2007-02-08 17:37:41 +00:00
Reid Spencer
26e1f92f55 Describe llvm/test more accurately given recent changes.
llvm-svn: 34055
2007-02-08 17:00:55 +00:00
Zhou Sheng
11eea86410 Switched this file on accidently.
llvm-svn: 34054
2007-02-08 16:45:48 +00:00
Zhou Sheng
fbf61eaba7 As Chris and Reid suggested, remove "isSigned" field from APInt, instead,
add some signed/unsigned arithmetic operation functions into APInt.h to
handle the signed/unsigned issue. These functions will be defined inside a
namespace "APIntOps" which is inside llvm namespace.

llvm-svn: 34053
2007-02-08 14:35:19 +00:00
Reid Spencer
d958a2b2d8 New test cases for PR1187
llvm-svn: 34052
2007-02-08 09:10:22 +00:00
Reid Spencer
6dde337628 Make this legal input.
llvm-svn: 34051
2007-02-08 09:09:36 +00:00
Reid Spencer
f79d0c2ad8 Regenerate.
llvm-svn: 34050
2007-02-08 09:08:52 +00:00
Reid Spencer
f43749d144 Rename a field so there's less confusion between fields of the same name.
llvm-svn: 34049
2007-02-08 09:08:23 +00:00
Reid Spencer
91a76a443f For PR1187:
Rename function scope names that conflict with basic block names.

llvm-svn: 34048
2007-02-08 09:07:25 +00:00
Reid Spencer
47b6d12ef1 For PR1187:
Always rename, never give a redef error. We could check for collapsed type
planes and generate an error if that's not the cause, but the 99.9999
percentile case will be that its the result of collapsed type planes. So,
rather than doing an expensive check, just rename.

llvm-svn: 34047
2007-02-08 08:47:38 +00:00
Reid Spencer
c10e463ea7 For PR1187:
Some changes to get the smbd.ll test case working:
1. Move the logic for CSRETCC->sret attribute out of the ResolveDefinitions
   code and into getExistingValue. This resolves it much earlier and works
   in function scope as well.
2. Fix handling of CSRETCC->sret for the store instruction.
3. Rewrite the code for handling renaming to factor in linkage types.
4. Rename a structure filed for a PATypeInfo* so it doesn't get confused
   with a field for a Type*.

llvm-svn: 34043
2007-02-08 08:09:36 +00:00
Reid Spencer
19c3dea36f Add some more interesting cases to this test.
llvm-svn: 34042
2007-02-08 08:03:46 +00:00
Reid Spencer
530d2e3051 For PR1187:
Add some interesting CSRETCC upgrade cases.

llvm-svn: 34041
2007-02-08 06:45:02 +00:00
Bill Wendling
e796b6de45 Fixed comments.
llvm-svn: 34040
2007-02-08 06:05:08 +00:00
Evan Cheng
6ad6fdb70b Fixed a long standing spiller bug that's exposed by Thumb:
The code sequence before the spiller is something like:
                 = tMOVrr
        %reg1117 = tMOVrr
        %reg1078 = tLSLri %reg1117, 2

The it starts spilling:
        %r0 = tRestore <fi#5>, 0
        %r1 = tRestore <fi#7>, 0
        %r1 = tMOVrr %r1<kill>
        tSpill %r1, <fi#5>, 0
        %reg1078 = tLSLri %reg1117, 2

It restores the value while processing the first tMOVrr. At this point, the
spiller remembers fi#5 is available in %r0. Next it processes the second move.
It restores the source before the move and spills the result afterwards. The
move becomes a noop and is deleted. However, a spill has been inserted and that
should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5.
Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0.

llvm-svn: 34039
2007-02-08 06:04:54 +00:00
Chris Lattner
0591d43ea1 New testcase for PR947
llvm-svn: 34038
2007-02-08 04:34:03 +00:00
Chris Lattner
9ffe03c24e llvm-gcc3 is gone
llvm-svn: 34037
2007-02-08 04:31:15 +00:00
Bill Wendling
1fef06db82 Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE
instead of LTO_UNKNOWN.

llvm-svn: 34036
2007-02-08 01:48:28 +00:00
Bill Wendling
fe5ee14bdf The new version of how to add passes to emit files. We explicitly call a
function to add the file writers between calls to add the passes.

llvm-svn: 34035
2007-02-08 01:41:07 +00:00
Bill Wendling
2aa9a42f24 Moved the MachOWriter and ELFWriter out of the Target/* files. Placed the
definition of it into the CodeGen library. This is so that a backend doesn't
necessarily add in these writers if it doesn't use them (like in the lli
program).

llvm-svn: 34034
2007-02-08 01:39:44 +00:00
Bill Wendling
59889ae93f Added new method to add a "simple" code emitter. That is, to only add
the code emitter and not set variables.

llvm-svn: 34033
2007-02-08 01:38:33 +00:00
Bill Wendling
523048ecde Split the addPassesToEmitFile method up into two. This is so that we can
do some common stuff, then on our own add an object file writer (by calling
a concrete function), and then do some finishing stuff, if need be.

llvm-svn: 34032
2007-02-08 01:36:53 +00:00
Bill Wendling
3c4d37a531 Add function to create a file writer.
llvm-svn: 34031
2007-02-08 01:35:27 +00:00
Bill Wendling
27361926d2 Added new method to finish up the addition of passes to emit files. This
allows us to split that method into two so that we can optionally call a
concrete function to add a writer. Removed moribund addObjectWriter()
method.

llvm-svn: 34030
2007-02-08 01:34:45 +00:00
Bill Wendling
4e8ad36338 Dead files. Functionality has been taken over by the Add*Writer functions.
llvm-svn: 34029
2007-02-08 01:32:51 +00:00