Commit Graph

1630 Commits

Author SHA1 Message Date
Reid Spencer 02165c634e Regenerate
llvm-svn: 32908
2007-01-05 17:20:02 +00:00
Reid Spencer 9ca1b589af Adjust to new header file name.
llvm-svn: 32907
2007-01-05 17:19:32 +00:00
Reid Spencer 6ee573f523 Major update of llvm-upgrade:
1. Completely revise the type system so that types are handled as const
   objects and not created multiple times, cloned, or otherwise copied.
   This gets around memory issues, saves memory, and also emulates LLVM's
   no-two-types-of-the-same-shape-created semantics.
2. Adjust the handling of global names. Basically, we cannot rename them
   for a variety of reasons: linking, forward references, etc.
3. Detect global names that have name conflicts as the result of collapsed
   type planes or redefinitions that llvm-as no longer accepts. These will
   produce warnings on stderr and one of the globals will be renamed.
4. Rename ParserInternals.h as UpgradeInternals.h so it doesn't conflict
   in the debugger with ParserInternals.h from lib/AsmParser.
5. Move the guts of the TypeInfo class into the grammar so we aren't
   implementing large functions in a header file. This also helps with
   debugging a bit.

llvm-svn: 32906
2007-01-05 17:18:58 +00:00
Chris Lattner c205585943 regenerate
llvm-svn: 32880
2007-01-04 18:46:42 +00:00
Chris Lattner a0058929bc If we hit a parse error, emit something bad to the output stream. This ensures that
llvm-upgrade < foo | llvm-as | llvm-dis

will fail if llvm-upgrade fails.

llvm-svn: 32879
2007-01-04 18:45:51 +00:00
Reid Spencer 844c7121c7 Regenerate.
llvm-svn: 32848
2007-01-03 23:45:42 +00:00
Reid Spencer 66ed21c213 Implement many new type features including upreferences, proper retention
of structure contents, counts of packed and array types, etc.

llvm-svn: 32847
2007-01-03 23:45:17 +00:00
Reid Spencer c13fac5526 Finish implementation of variable renaming to handle collapsed type planes
by correctly handling up references and enumerated types. Previously there
was some confusion of these two. Thanks to Chris Lattner for demistifying
llvm up references.

llvm-svn: 32846
2007-01-03 23:43:55 +00:00
Evan Cheng a50e3919b1 A bit more debugging printf's.
llvm-svn: 32832
2007-01-03 07:44:30 +00:00
Reid Spencer 03c80e72d1 Regenerate.
llvm-svn: 32817
2007-01-02 06:34:08 +00:00
Reid Spencer 77283c18a1 Permit signed and unsigned integer constants to be used with either signed
or unsigned integer types.

llvm-svn: 32816
2007-01-02 06:33:02 +00:00
Reid Spencer 62ad3bbd4c Regenerate.
llvm-svn: 32811
2007-01-02 05:45:11 +00:00
Reid Spencer 25f4cd093b For PR1070:
Revise the upgrade parser to keep track of types more faithfully and use
this information to resolve name conflicts resulting from collapsed type
planes. The type planes have collapsed because the integer types are now
signless so that uint and int became i32. Where two planes existed for uint
and int, only i32 exists. Any variable names depending on the type planes
to pmake the identifier unique would cause a conflict. This patch resolves
that conflict for many but not all cases.

Situations involving the integer types and pointers to them are handled
by this patch.  However, there are corner cases that are not handled
well, such as:

%t1 = type { uint, int }
%t2 = type { int, uint }

void %myfunc(%t1* one, %t2* two) {
  %var = load %t1* one
  %var = load %t2* two
}

In the scenario above, %t1 and %t2 are really the same type: { i32, i32 }
Consequently attempting to name %var twice will yield a redefinition error
when assembled.

While this patch is sufficien to allow the llvm/test suite to pass, More
work needs to be to complete the handling of these corner cases.

llvm-svn: 32810
2007-01-02 05:44:33 +00:00
Reid Spencer 97f4ee7e93 Regenerate.
llvm-svn: 32805
2007-01-01 01:20:41 +00:00
Reid Spencer 1a5d6f56e2 For PR1070:
Remove useless bitcasts by commenting them out.

llvm-svn: 32804
2007-01-01 01:20:16 +00:00
Reid Spencer eb14edc646 For PR950:
Convert signed integer types to signless.

llvm-svn: 32790
2006-12-31 06:02:26 +00:00
Reid Spencer be5fd4a771 For PR950:
Don't attempt to parse both the old and new grammars. It is near impossible
to get it right. Remove support for the new define keyword and don't
attempt to insert parameter attributes because there isn't enough
contextual information for it.

llvm-svn: 32784
2006-12-31 05:45:57 +00:00
Reid Spencer dc0a3a2fd2 Regenerate.
llvm-svn: 32772
2006-12-29 20:35:03 +00:00
Reid Spencer 0a53afe5ba For PR950:
Fix several bugs and update for new assembly syntax. Changes made include:
1. Fixing rules for icmp/fcmp instructions to not require a closing paren
   at the end. This was a cut-and-paste error from a previous commit.
2. Changing things like Out << " " to Out << ' '
3. Adding the "define" keyword for function definitions
4. Adding support for packed structures

llvm-svn: 32771
2006-12-29 20:33:37 +00:00
Reid Spencer 266e42b312 For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.

llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Reid Spencer 87fbf70789 Ignore the LibDeps.txt.tmp file.
llvm-svn: 32742
2006-12-22 02:02:45 +00:00
Reid Spencer cf0c82f5fa Remove a call to Type::isSigned().
llvm-svn: 32651
2006-12-18 07:58:01 +00:00
John Criswell 2bcf535e0f Remove DSA.
llvm-svn: 32542
2006-12-13 16:54:24 +00:00
Reid Spencer 20f7a2a09b Ressurrect this needed file.
llvm-svn: 32537
2006-12-13 08:10:16 +00:00
Reid Spencer 753036ebaa Ressurrect the Stacker "st" configuration. Someday this will all go
away, but until then Stacker needs its configuration.

llvm-svn: 32536
2006-12-13 08:09:48 +00:00
Reid Spencer 595cef1650 Generate the correct cast opcode for constant expressions.
llvm-svn: 32461
2006-12-12 01:31:37 +00:00
Reid Spencer b7e5180d3c Fix PR1040:
Don't rebuild llvm-config if none of the library dependencies changed.

llvm-svn: 32455
2006-12-12 00:43:38 +00:00
Chris Lattner 6161452b67 make statistics and timing info print even if the JIT'd program calls exit
instead of returning from main.

llvm-svn: 32414
2006-12-10 19:01:52 +00:00
Reid Spencer 04f47b9e8d Regenerate.
llvm-svn: 32405
2006-12-09 19:41:25 +00:00
Reid Spencer 2126b0518e Fix test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll
Do not upgrade casts of bool to bool.

llvm-svn: 32404
2006-12-09 19:40:41 +00:00
Reid Spencer 1719061bfd Regenerate.
llvm-svn: 32400
2006-12-09 16:57:22 +00:00
Reid Spencer 87644df5bc When upgrading cast to bool to a setne, generate icmp ne instead.
llvm-svn: 32399
2006-12-09 16:56:55 +00:00
Reid Spencer 7485a167a7 Regenerate.
llvm-svn: 32303
2006-12-07 04:23:03 +00:00
Reid Spencer fc9ca55b6a Create an option to turn off generation of fcmp instructions while still
allowing integer setxx instructions to be converted to icmp.

llvm-svn: 32302
2006-12-07 04:22:23 +00:00
Bill Wendling f3baad3ee1 Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.

llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Jim Laskey 647e883a09 No need to update generated files.
llvm-svn: 32275
2006-12-06 11:03:10 +00:00
Jim Laskey 50c5597863 Fix build for older versios of bison.
llvm-svn: 32274
2006-12-06 10:57:33 +00:00
Reid Spencer 1cf93970d3 Regenerate.
llvm-svn: 32269
2006-12-06 06:30:15 +00:00
Reid Spencer ca83ffbdea Don't turn on SETCC upgrade yet!
llvm-svn: 32268
2006-12-06 06:29:36 +00:00
Reid Spencer bb59a90b7a Regenerate.
llvm-svn: 32267
2006-12-06 06:25:46 +00:00
Reid Spencer 2bbc2a165d Fix upgrade of setcc with bool operands.
llvm-svn: 32266
2006-12-06 06:25:22 +00:00
Chris Lattner 16ae73c83d reword message
llvm-svn: 32257
2006-12-06 05:39:18 +00:00
Chris Lattner 76d4632d92 make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
With this change, I can now move -stats to print when llvm_shutdown is called.

llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner e549bac57b This needs the callgraph data structure to stick around as long as the
printer does.

llvm-svn: 32236
2006-12-05 19:43:42 +00:00
Reid Spencer 39651ae196 Regenerate.
llvm-svn: 32235
2006-12-05 19:21:25 +00:00
Reid Spencer c77c7157f8 For PR645:
Keep track of global constant and variable definitions for eventual use
in resolving conflicts between global and local symbol usage.

llvm-svn: 32234
2006-12-05 19:18:29 +00:00
Reid Spencer c8809b5c08 Regenerate.
llvm-svn: 32178
2006-12-04 15:41:36 +00:00
Reid Spencer 723e07e9d8 Match the llvmAsmParser's handling of ICmp and FCmp instructions.
llvm-svn: 32153
2006-12-03 07:10:26 +00:00
Reid Spencer 6521b7a1c9 Regenerate.
llvm-svn: 32142
2006-12-03 03:16:48 +00:00
Reid Spencer bc17466558 Add a needed #include.
llvm-svn: 32141
2006-12-03 03:15:23 +00:00