Commit Graph

1882 Commits

Author SHA1 Message Date
Chris Lattner
c453f76e2b Switch the bitcode reader interface to take a MemoryBuffer instead of knowing
anything about disk I/O itself.  This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.

This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode.  Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.

I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36554 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 07:54:31 +00:00
Chris Lattner
63db485b79 fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36551 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 05:51:00 +00:00
Chris Lattner
020403209a reset errno to zero on entry to the application's main function. This fixes
MultiSource/Applications/minisat in the JIT.

Note that the libsystem stuff should ideally never modify errno.  :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36508 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27 17:02:33 +00:00
Jeff Cohen
b5594e3066 Add new option to usage help.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36347 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 18:33:20 +00:00
Chris Lattner
197cceaaac don't break reading from stdin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36336 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:35:20 +00:00
Chris Lattner
395439bb22 link in bitwriter library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36335 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:31:35 +00:00
Chris Lattner
b3ca3622bb teach llvm-dis to read bitcode files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36334 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:31:02 +00:00
Chris Lattner
27bb3af61c add a temporary -bitcode option, which instructs llvm-as to produce a bitcode file instead of a bytecode file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36333 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 06:28:58 +00:00
Reid Spencer
4f859aa532 For PR1146:
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36327 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 05:46:44 +00:00
Reid Spencer
3b87d6a7b5 Add the --host-target option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36326 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 05:05:36 +00:00
Chris Lattner
9c81664f6e remove cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36268 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-20 04:45:58 +00:00
Reid Spencer
e59f4931f4 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 03:05:01 +00:00
Reid Spencer
7055dafa7f For PR1336:
Functions without names deserve to be created too. This fixes:
test/CodeGen/Generic/vector-constantexpr.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 03:04:13 +00:00
Reid Spencer
53bd704b99 For PR1336:
When upgrading global vars, look for conflicts with functions as well. This
fixes test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 02:56:33 +00:00
Reid Spencer
ff0e448801 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36096 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 00:40:57 +00:00
Reid Spencer
d23c4dd08f For PR1336:
Rewrite the upgrade of GEP indices to be a little less obtuse. This fixes
test/Assembler/2002-08-19-BytecodeReader.llx
test/Assembler/2003-08-21-ConstantExprCast-Fold.llx
test/Assembler/2004-01-11-getelementptrfolding.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36095 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 00:39:39 +00:00
Reid Spencer
4d26a0619d Make the generated code for ConstantInt nicer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35902 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 13:02:56 +00:00
Reid Spencer
46fea10881 Teach llvm2cpp about packed structure types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:41:49 +00:00
Reid Spencer
07441666b6 Fix several bugs relating to changes in the LLVM IR API or just outright
typos in the output. This is sufficient to get most of the llvm2cpp tests
working again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35898 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:28:56 +00:00
Reid Spencer
baba98ae88 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:10:58 +00:00
Reid Spencer
8486744214 Fix a crash-by-unknown-exception caused by attempting to use a null pointer
as the key for a map insertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35896 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:10:08 +00:00
Reid Spencer
a9297b1a09 Fix some issues with param attrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 10:01:32 +00:00
Reid Spencer
6abd3daae1 Add support for parameter attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 09:54:08 +00:00
Reid Spencer
18da072088 For PR1146:
Put the parameter attributes in their own ParamAttr name space. Adjust the
rest of llvm as a result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35877 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 02:44:20 +00:00
Devang Patel
0aa37f472a Enable loop rotate pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35863 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-10 15:43:36 +00:00
Reid Spencer
7b5d466c88 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35813 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 06:16:21 +00:00
Reid Spencer
460dd9b644 For PR1146:
Adapt handling of parameter attributes to use ParamAttrsList class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35812 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 06:15:59 +00:00
Reid Spencer
b9125b1c85 Make TempDir a PathWithStatus so we don't have to cast it to one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35772 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-08 20:08:01 +00:00
Reid Spencer
7b57fe3554 Avoid temporary construction and potential for corrupted data access.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35771 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-08 20:06:05 +00:00
Reid Spencer
184e67e208 Don't rely on destructed local storage. Thanks, Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-08 19:59:07 +00:00
Reid Spencer
c74b461507 For PR1291:
Change uses of sys::Path class to sys::PathWithStatus in those places where
the file status information is needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35743 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 18:53:16 +00:00
Reid Spencer
a3b12ddade Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35736 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 16:14:01 +00:00
Reid Spencer
b289f19eae For PR1312:
For the short CALL/INVOKE syntax, the signedness of the result type is two
extractions away from the type argument because its a POINTER to function
type, not a function type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35735 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 16:10:37 +00:00
Chris Lattner
c8c5752b2f run a late dce pass to clean up extra cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35684 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 16:50:20 +00:00
Reid Spencer
c82a5da049 For PR1302:
Rename LinkItems as NativeLinkItems since it is filled out by the Linker
library to contain only those items deemed to be native.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35654 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 06:34:22 +00:00
Reid Spencer
8166a6c61d Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35579 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 02:08:35 +00:00
Reid Spencer
8918cb42db Upgrade the bit count intrinsics to have an i32 result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35578 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 02:08:05 +00:00
Reid Spencer
41b213e532 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:14:00 +00:00
Reid Spencer
de704f36c6 Don't upgrade functions that look like a bswap intrinsic but aren't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35570 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:13:36 +00:00
Reid Spencer
1e70bb6660 Handle upgrade of llvm.bswap.iXX to llvm.bswap.iXX.iXX per new naming
rules for overloaded intrinsic functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 00:50:28 +00:00
Reid Spencer
a145c6d766 Remove some non-sensical logic that prevented llvm-nm from working on any
file other than one named "-".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:49:07 +00:00
Reid Spencer
8475ec068c For PR789:
Make the sys::Path::getFileStatus function more efficient by having it
return a pointer to the FileStatus structure rather than copy it. Adjust
uses of the function accordingly. Also, fix some memory issues in sys::Path.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35476 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 19:05:44 +00:00
Jeff Cohen
cf525fcbae getFileStatus has a new parameter (caught by VC++).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35466 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-29 17:29:59 +00:00
Jeff Cohen
02c91ef2cb Fix problem with llvm-config that prevented JIT from being used on x86_64
systems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 04:45:02 +00:00
Reid Spencer
497b0b0a45 For PR1277:
Implement error handling for bytecode parsing.

Patch by Scott Michel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35364 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 22:38:01 +00:00
Evan Cheng
2b48420c64 Unbreak non-debug builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35264 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 07:43:51 +00:00
Reid Spencer
d2920cd3d9 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35237 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:27:53 +00:00
Reid Spencer
91a9d54d9a For PR1243:
Okay, really fix it this time. Make sure the CurFun.Linkage is set early
and consolidate some duplicate code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35236 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:26:41 +00:00
Reid Spencer
bb1fd5770d Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35235 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:15:50 +00:00
Reid Spencer
3e5affd263 For PR1256:
Make Signedness information pervasive throughout all types and values.
There is no easy way to get around this. Because the GEP instruction can
index through an arbitrarily complex value structure, it is necessary to
keep track of signedness information throughout that structure. This change
makes Signedness a full class, capable of representing Signedness in
arbitrarily shaped types. The class is then used throughout llvm-upgrade to
track signedness and differentiate between globals, locals, and functions
based on their signedness.

For PR1243:
This patch also removes bogus warnings about renaming internal globals. It
now only emits such warnings when renaming non-internal globals because
they may affect linkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35234 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:14:36 +00:00