1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

29806 Commits

Author SHA1 Message Date
Andrew Lenharth
fc510fe358 return addresses, those I already have
llvm-svn: 34056
2007-02-08 17:37:41 +00:00
Reid Spencer
a942336885 Describe llvm/test more accurately given recent changes.
llvm-svn: 34055
2007-02-08 17:00:55 +00:00
Zhou Sheng
a6babf6288 Switched this file on accidently.
llvm-svn: 34054
2007-02-08 16:45:48 +00:00
Zhou Sheng
6efcdc8049 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
e1224638a2 New test cases for PR1187
llvm-svn: 34052
2007-02-08 09:10:22 +00:00
Reid Spencer
1ca320bf4d Make this legal input.
llvm-svn: 34051
2007-02-08 09:09:36 +00:00
Reid Spencer
864b5b7925 Regenerate.
llvm-svn: 34050
2007-02-08 09:08:52 +00:00
Reid Spencer
3eeb7956ca 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
2306ba13ca 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
f0bd1b5402 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
2548dfd4c9 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
b22ff5a5b8 Add some more interesting cases to this test.
llvm-svn: 34042
2007-02-08 08:03:46 +00:00
Reid Spencer
cc0209e555 For PR1187:
Add some interesting CSRETCC upgrade cases.

llvm-svn: 34041
2007-02-08 06:45:02 +00:00
Bill Wendling
4b33b03487 Fixed comments.
llvm-svn: 34040
2007-02-08 06:05:08 +00:00
Evan Cheng
96b886b846 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
89bd4c47e1 New testcase for PR947
llvm-svn: 34038
2007-02-08 04:34:03 +00:00
Chris Lattner
a7edf259e5 llvm-gcc3 is gone
llvm-svn: 34037
2007-02-08 04:31:15 +00:00
Bill Wendling
eba47cf231 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
9345a73364 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
289ab30051 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
1620ef9a95 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
ccf772cc6b 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
55a2facbf9 Add function to create a file writer.
llvm-svn: 34031
2007-02-08 01:35:27 +00:00
Bill Wendling
d5788e1f87 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
abb65b1d4d Dead files. Functionality has been taken over by the Add*Writer functions.
llvm-svn: 34029
2007-02-08 01:32:51 +00:00
Bill Wendling
9fb358c70f Declarations for functions that create different file writers.
llvm-svn: 34028
2007-02-08 01:31:38 +00:00
Bill Wendling
48653bfaa4 Moved from include/llvm/CodeGen to lib/CodeGen.
llvm-svn: 34027
2007-02-08 01:30:50 +00:00
Reid Spencer
6e19d7114f For PR1188:
Compute BitMask correctly.

Patch by Leo (wenwenti@hotmail.com).

llvm-svn: 34026
2007-02-08 00:29:31 +00:00
Reid Spencer
808eee2513 Regenerate for recent changes.
llvm-svn: 34025
2007-02-08 00:21:40 +00:00
Reid Spencer
ff9598b8f0 For PR1187:
When a naming conflict arises, allow internal linkage functions to be
renamed without warning or error.

llvm-svn: 34024
2007-02-08 00:21:06 +00:00
Reid Spencer
14c07da285 For PR1187:
Allow @ before identifer names. Recognize the i1, i8, i16, i32, i64 keywords
as type names corresponding to bool, ubyte, ushort, uint, and ulong
respectively. While these aren't LLVM 1.9 constructs, permitting the syntax
allows post-1.9 assembly files to be upgraded.

llvm-svn: 34023
2007-02-08 00:19:40 +00:00
Chris Lattner
3cac8eac4e move archive-specific stuff out of bcreader into archive library.
llvm-svn: 34022
2007-02-07 23:53:17 +00:00
Chris Lattner
1c17d65878 move an llvmc-specific function out of the bcreader into llvmc.
llvm-svn: 34021
2007-02-07 23:48:32 +00:00
Chris Lattner
c5f3b3b01b move AnalyzeBytecodeFile out of ReaderWrappers.cpp into Analyzer.cpp. Now
lli doesn't link in Analyzer.cpp.

llvm-svn: 34020
2007-02-07 23:46:55 +00:00
Reid Spencer
dfdeabe65b For PR1187:
Add a test to ensure that i1, i8, i16, i32 and i64 are recognized by the
lexer and vars using them will be renamed appropriately.

llvm-svn: 34019
2007-02-07 23:45:51 +00:00
Reid Spencer
0fb1efdece For PR1187:
Add a test case to test rename of internal linkage functions with the same
name, without an error or warning.

llvm-svn: 34018
2007-02-07 23:41:10 +00:00
Chris Lattner
cc1239500e new testcase for nested functions
llvm-svn: 34017
2007-02-07 23:28:08 +00:00
Andrew Lenharth
9e5f0274d8 This really only affects pointers in high memory, and only llvm 1.9, but make a regression for it anyway
llvm-svn: 34014
2007-02-07 22:23:47 +00:00
Evan Cheng
dc15bc54a4 isLowRegister() expects input is a physical register.
llvm-svn: 34013
2007-02-07 21:44:33 +00:00
Chris Lattner
43d0b955a3 push bytecode decompressor out through APIs. Now the bytecode reader
api's look like this:

ModuleProvider *getBytecodeModuleProvider(
  const std::string &Filename,  ///< Name of file to be read
  BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
  std::string* ErrMsg = 0,      ///< Optional error message holder
  BytecodeHandler* H = 0        ///< Optional handler for reader events
);

This is ugly, but allows a client to say:

  getBytecodeModuleProvider("foo", 0);

If they do this, there is no dependency on the compression libraries, saving
codesize.

llvm-svn: 34012
2007-02-07 21:41:02 +00:00
Evan Cheng
03ffd4a6d5 Rename.
llvm-svn: 34011
2007-02-07 21:24:09 +00:00
Evan Cheng
2bbe03a4df If sp offset will be materialized in a register. Clear the offset field of str / ldr.
llvm-svn: 34010
2007-02-07 21:19:58 +00:00
Evan Cheng
fe7242e9bb Get rid of references to iostream.
llvm-svn: 34009
2007-02-07 21:18:32 +00:00
Jim Laskey
c27aed3dc0 Automatically generating intrinsic declarations from Dan Gohman. Modified
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.

llvm-svn: 34008
2007-02-07 20:38:26 +00:00
Chris Lattner
ad6f4d102f Move compressor out of the core Reader.cpp file.
llvm-svn: 34007
2007-02-07 19:49:01 +00:00
Devang Patel
a667307d74 Do not drop transferred last uses on the floor.
Use handleLastUserOverflow().

llvm-svn: 34006
2007-02-07 19:37:53 +00:00
Chris Lattner
12663c4a66 Fix Transforms/DeadArgElim/2007-02-07-FuncRename.ll, fallout from PR411.
This happened because deadargelim now causes VMCore to auto-rename every
function that it hacks arguments out of.  Because it hacks arguments out of
functions in a non-deterministic order, this caused the resultant numbering
to be nondet.  The fix is to just be careful to not rename functions!

llvm-svn: 34005
2007-02-07 19:31:33 +00:00
Chris Lattner
1c153a1e17 Testcase for a bug responsible for GCC bootstrap failure, fallout from PR411.
llvm-svn: 34004
2007-02-07 19:28:52 +00:00
Reid Spencer
9eb0b8c719 Make the cleaning of BUILT_SOURCES be a "clean-all" target item, not a
"clean" target item. This gets around having the built sources disappear
when only one build mode wants to be cleaned. With the "clean-all" target,
all build modes are cleaned so it also makes sense to clean out the built
sources at that point.

llvm-svn: 34003
2007-02-07 19:13:19 +00:00
Lauro Ramos Venancio
30734ef2e7 Fix build error.
include/llvm/ADT/APInt.h:326: error: ‘assert’ was not declared in this scope

llvm-svn: 34002
2007-02-07 16:59:17 +00:00