John Criswell
dffef2d2f5
Added the --disable-compression option which controls whether the
...
generated bytecode uses compression.
llvm-svn: 31891
2006-11-21 22:50:24 +00:00
Bill Wendling
0d630c33b2
Need <iostream> for the time being.
...
llvm-svn: 31821
2006-11-17 10:09:22 +00:00
Bill Wendling
605795ea8c
Need iostream to be included for the time being.
...
llvm-svn: 31820
2006-11-17 10:05:07 +00:00
Reid Spencer
3005d47797
Minor style fixes from review.
...
llvm-svn: 31685
2006-11-11 19:59:25 +00:00
Reid Spencer
471bcb750e
Add a -disable-loop-extraction option to bugpoint.
...
llvm-svn: 31683
2006-11-11 19:05:02 +00:00
Reid Spencer
75db664f44
For PR998:
...
Fix an infinite loop in the Linker and a few other assorted link problems.
Patch contributed by Scott Michel. Thanks, Scott!
llvm-svn: 31680
2006-11-11 11:54:25 +00:00
Chris Lattner
7275b02ea5
completely revert patrick's enhancement to bugpoint. Though it makes bugpoint
...
speed up, it sometimes makes it crash on complex bc files, which isn't very nice.
With this, bugpoint can reduce the 176.gcc failure.
llvm-svn: 31589
2006-11-09 06:24:56 +00:00
Chris Lattner
f1a1a7ae6f
add a new bugpoint mode -llc-safe. This uses LLC for both halves of a
...
miscompilation. This is useful for working around GCC+CBE bugs or for handling
programs that CBE doesn't support (e.g. inline asm) when searching for
optimizer bugs.
llvm-svn: 31588
2006-11-09 05:57:53 +00:00
Reid Spencer
fdff938a7e
For PR950:
...
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.
llvm-svn: 31542
2006-11-08 06:47:33 +00:00
Reid Spencer
5e5a05e753
Fix a problem in the the last patch that subverts error message printing.
...
llvm-svn: 31466
2006-11-05 19:53:08 +00:00
Jeff Cohen
7d6f3db3e2
Unbreak VC++ build.
...
llvm-svn: 31464
2006-11-05 19:31:28 +00:00
Reid Spencer
8bfe22d08d
Make llvm2cpp -pedantic clean.
...
llvm-svn: 31389
2006-11-03 00:05:16 +00:00
Reid Spencer
de46e48420
For PR786:
...
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Reid Spencer
7eb55b395f
For PR950:
...
Replace the REM instruction with UREM, SREM and FREM.
llvm-svn: 31369
2006-11-02 01:53:59 +00:00
Bill Wendling
ce3afd64e9
Forgot a }
...
llvm-svn: 31226
2006-10-27 20:22:04 +00:00
Bill Wendling
74a4a2a80b
Re-added the part where it tries to remove all global variables first.
...
llvm-svn: 31225
2006-10-27 20:18:06 +00:00
Devang Patel
a9abd62ede
Save temp. bc files when saveTemps flag is true. Use final output file
...
name supplied by linker to construct temp bc file names.
Remove tabs.
llvm-svn: 31205
2006-10-26 20:46:22 +00:00
Reid Spencer
7e80b0b31e
For PR950:
...
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
llvm-svn: 31195
2006-10-26 06:15:43 +00:00
Bill Wendling
3f83343c52
Fix for PR960. Improves bugpoint so that it removes global variable
...
initializers as well. This is only a first pass. It can be slow because
it clones the module for each pass. An obvious improvement is not to do that.
llvm-svn: 31182
2006-10-25 18:36:14 +00:00
Devang Patel
07631698ac
Supply alignment info to linker through LLVMSymbol.
...
llvm-svn: 31181
2006-10-25 18:10:07 +00:00
Devang Patel
b0a5e39b26
Instead of hard coding global prefix, use TargetAsmInfo.
...
Add LTO destructor.
llvm-svn: 31168
2006-10-24 18:41:02 +00:00
Devang Patel
fdf6144168
Fix typo. Add more comment. Avoid extra hash_map search.
...
llvm-svn: 31144
2006-10-23 23:57:53 +00:00
Devang Patel
6c01383118
Add removeModule().
...
llvm-svn: 31142
2006-10-23 23:12:26 +00:00
Reid Spencer
e0fc4dfc22
For PR950:
...
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
2006-10-20 07:07:24 +00:00
Chris Lattner
8adfe927bb
Make the bugpoint reduction heuristics more effective. Patch submitted by
...
Domagoj Babic, thanks!
llvm-svn: 30863
2006-10-10 21:42:25 +00:00
Devang Patel
d90c2d7386
Use FindProgramByName instead of FindExecutable.
...
llvm-svn: 30846
2006-10-09 21:16:05 +00:00
Devang Patel
060c4857ca
Do error checking.
...
llvm-svn: 30842
2006-10-09 20:20:13 +00:00
Chris Lattner
dfa8d9258a
Remove a dead var noticed by Yorion
...
llvm-svn: 30841
2006-10-09 20:12:37 +00:00
Devang Patel
dacaf1e375
Use GetTemporaryDirectory. Fix http://llvm.org/bugs/show_bug.cgi?id=894
...
llvm-svn: 30838
2006-10-09 19:04:51 +00:00
Chris Lattner
ddfe6998de
simplify code
...
llvm-svn: 30661
2006-09-28 23:24:48 +00:00
Nick Lewycky
25587182f3
Enable 'predsimplify' optimization.
...
llvm-svn: 30589
2006-09-24 00:08:16 +00:00
Devang Patel
5af1651f7d
Use abstract class to facilitate dlopen() interface.
...
llvm-svn: 30569
2006-09-21 17:22:55 +00:00
Chris Lattner
ff8a6b86db
comment out debug code
...
llvm-svn: 30401
2006-09-15 23:01:10 +00:00
Chris Lattner
634bc046ca
Add a new -cbe-bug mode, which works just like -run-llc, except that it uses
...
LLC as the reference compiler to reduce testcases for bugs in GCC.
llvm-svn: 30400
2006-09-15 21:29:15 +00:00
Anton Korobeynikov
d61d39ec53
Adding dllimport, dllexport and external weak linkage types.
...
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374
2006-09-14 18:23:27 +00:00
Chris Lattner
3f0ffd31cf
add a new (hidden) -disable-core-files option
...
llvm-svn: 30318
2006-09-14 06:17:09 +00:00
Devang Patel
dd53fd41cd
Add comment.
...
llvm-svn: 30315
2006-09-14 05:49:10 +00:00
Nick Lewycky
a2c681ab41
Fix --enable-valgrind. Add room for the new arguments, and don't keep
...
a pointer to a temporary.
llvm-svn: 30312
2006-09-14 04:20:17 +00:00
Nick Lewycky
7faef23f02
Add --enable-valgrind option to run optimizations through valgrind to
...
pick up on memory errors.
llvm-svn: 30311
2006-09-14 03:49:54 +00:00
Devang Patel
e480d2a2d7
GlobalValue with InternalLinkage may have operands with ExternalLinkage
...
type. Do not ignore these operands while finding external references.
llvm-svn: 30310
2006-09-14 01:35:13 +00:00
Chris Lattner
70b9f5bd1e
Move ipsccp pass earlier to clean up obvious bogosities
...
llvm-svn: 30232
2006-09-09 21:30:13 +00:00
Chris Lattner
fe01c281a9
ok this really works :)
...
llvm-svn: 30195
2006-09-08 18:33:49 +00:00
Devang Patel
842163d60a
Remove redundant include.
...
llvm-svn: 30194
2006-09-08 18:20:25 +00:00
Chris Lattner
eda4a9e008
Need to include Makefile.config to get the value of $(OS). Add a comment.
...
llvm-svn: 30193
2006-09-08 18:08:50 +00:00
Anton Korobeynikov
dc7b51910b
Enabling LTO building on Darwin only right now. This probably should be
...
removed after 'PIC vs non-PIC' problem solution
llvm-svn: 30192
2006-09-08 18:00:43 +00:00
Devang Patel
5606dd8a45
Using addPassesToEmitWholeFile is not a good idea here.
...
Use FunctionPassManager to do the job.
llvm-svn: 30160
2006-09-07 21:41:11 +00:00
Devang Patel
ce2c1eb154
Add linker into list of LINK_COMPONENTS.
...
llvm-svn: 30159
2006-09-07 21:36:55 +00:00
Devang Patel
12ee0cbde4
Add lto into the list of PARALLEL_DIRS
...
llvm-svn: 30154
2006-09-07 20:21:58 +00:00
Devang Patel
5b3510abd3
Use addPassesToEmitWholeFile() instead of addPassesToEmitFile()
...
llvm-svn: 30153
2006-09-07 20:20:56 +00:00
Chris Lattner
3b18c1a946
Change DisambiguateGlobalSymbols to not rename asm globals, which breaks
...
bugpoint on leopard.
llvm-svn: 30150
2006-09-07 18:21:07 +00:00
Devang Patel
5561aa7271
Add getTargetTriple() that linker can use to query target architecture.
...
llvm-svn: 30132
2006-09-06 20:16:28 +00:00
Devang Patel
ee9f617cff
Keep track of all modules crated using a name to module map.
...
Add private member function getMoudle().
llvm-svn: 30130
2006-09-06 18:50:26 +00:00
Devang Patel
95b7c7af2e
Instead of demangling symbol name by hand, use original name, which was
...
used to mangle symbol name, directly.
llvm-svn: 30124
2006-09-06 00:45:52 +00:00
Devang Patel
e3b9490b05
Extract target triplet from optimized module.
...
Untabify.
llvm-svn: 30123
2006-09-06 00:28:22 +00:00
Chris Lattner
af726fe9d5
lli uses LinkAllCodegenComponents, so it needs this. Thanks to
...
Rafael Esp?ndola for pointing this out
llvm-svn: 30100
2006-09-04 18:34:16 +00:00
Chris Lattner
3b78c704d1
Use llvm-config instead of magic JIT thing to link in libs
...
llvm-svn: 30091
2006-09-04 06:01:43 +00:00
Chris Lattner
28689ff2d0
Use LINK_COMPONENTS to specify *components* to link against instead of
...
using USED_LIBS to specify *libraries* to link against.
llvm-svn: 30090
2006-09-04 05:59:09 +00:00
Chris Lattner
2d4cae9896
Allow things like --libs CBackend
...
llvm-svn: 30089
2006-09-04 05:35:23 +00:00
Chris Lattner
956f73bdfa
Switch to using llvm-config to build
...
llvm-svn: 30088
2006-09-04 05:24:16 +00:00
Chris Lattner
36bf108d71
Switch to using llvm-config to select components to link in.
...
llvm-svn: 30085
2006-09-04 04:47:49 +00:00
Chris Lattner
12e97307a1
Completely rearchitect the interface between targets and the pass manager.
...
This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
output, move all this to common code, and give targets hooks they can
implement.
3. Commonalize the target population stuff between file emission and JIT
emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
paves the way for "fast -O0" stuff in the CFE later, and now LLC could
lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
which is now orthogonal to the fact that JIT'ing is being done.
llvm-svn: 30081
2006-09-04 04:14:57 +00:00
Chris Lattner
d140393a49
rearrange targets to satisfy dependencies. Too bad we aren't using llvm-config.
...
llvm-svn: 30077
2006-09-04 04:04:41 +00:00
Chris Lattner
c754b0a37f
If a cycle exists, don't succeed building the second time around.
...
llvm-svn: 30076
2006-09-04 01:49:10 +00:00
Chris Lattner
dcd72422fd
remove message
...
llvm-svn: 30075
2006-09-04 01:48:32 +00:00
Chris Lattner
2ecd34e869
Remove use of target::getName()
...
llvm-svn: 30069
2006-09-03 18:38:30 +00:00
Anton Korobeynikov
6c6a70f999
- Fixed broken Win32 build
...
- Removed warning about clobbered parameter in Bytecode/Reader
llvm-svn: 30026
2006-09-01 20:35:17 +00:00
Chris Lattner
dcc8bcc04d
Code cleanups, no functionality change.
...
llvm-svn: 29969
2006-08-29 23:38:20 +00:00
Reid Spencer
014a2dd53d
Delete a no-longer-supported configuration item.
...
llvm-svn: 29960
2006-08-29 20:52:44 +00:00
Chris Lattner
29619a9a01
Add a --disable-compression option like llvm-link/llvm-as etc have
...
llvm-svn: 29941
2006-08-28 17:31:55 +00:00
Reid Spencer
e7141c8be6
For PR387:
...
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.
llvm-svn: 29934
2006-08-28 01:02:49 +00:00
Chris Lattner
c2d3d3112e
eliminate RegisterOpt. It does the same thing as RegisterPass.
...
llvm-svn: 29925
2006-08-27 22:42:52 +00:00
Chris Lattner
dc729ee32b
-analyze mode shouldn't output a .bc file.
...
llvm-svn: 29923
2006-08-27 22:40:26 +00:00
Chris Lattner
3c9b2420df
Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.
...
llvm-svn: 29921
2006-08-27 22:30:17 +00:00
Chris Lattner
68e53db664
analyze no longer exists, don't offer to run it :)
...
llvm-svn: 29919
2006-08-27 22:12:06 +00:00
Chris Lattner
d8c0bfb9a1
eliminate only use of FilteredPassNameParser
...
llvm-svn: 29916
2006-08-27 22:07:43 +00:00
Chris Lattner
8e5e13b4fe
Merge the 'analyze' mode code with the 'opt' mode code. Eliminate the
...
'autodetect .ll files' functionality.
llvm-svn: 29915
2006-08-27 22:07:01 +00:00
Reid Spencer
f25aebf8cf
For PR797:
...
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
llvm-svn: 29875
2006-08-25 17:43:11 +00:00
Reid Spencer
84f4e1f776
Fix a bug introduced by a change in the Archive::writeToDisk interface.
...
llvm-svn: 29870
2006-08-25 05:29:36 +00:00
Reid Spencer
93a2acf7bc
Fix a bug caused by change in the interface of Archive::writeToDisk.
...
llvm-svn: 29869
2006-08-25 05:28:17 +00:00
Reid Spencer
ec0f205dc1
For PR797:
...
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.
llvm-svn: 29866
2006-08-24 23:45:08 +00:00
Nate Begeman
a147cbfa21
Make sure that both non-asm file types are marked as experimental
...
llvm-svn: 29851
2006-08-23 21:29:52 +00:00
Nate Begeman
3cb3921a60
Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
...
does emit linkable .o files in very simple cases.
llvm-svn: 29850
2006-08-23 21:08:52 +00:00
Reid Spencer
e4ca722199
For PR797:
...
Final removal of exceptions from lib/System and adjustment of users to
accommodate.
llvm-svn: 29846
2006-08-23 20:34:57 +00:00
Devang Patel
663a005fba
If unable to create tmp. file on disk then return LTO_WRITE_FAILURE status.
...
llvm-svn: 29844
2006-08-23 16:59:25 +00:00
Reid Spencer
879ed5ab9c
For PR797:
...
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.
llvm-svn: 29843
2006-08-23 07:30:48 +00:00
Reid Spencer
51edba15c6
For PR797:
...
Remove exception throwing from Path::getDirectoryContents and its users.
llvm-svn: 29841
2006-08-23 06:56:27 +00:00
Reid Spencer
8db844241b
For PR797:
...
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.
llvm-svn: 29840
2006-08-23 00:39:35 +00:00
Reid Spencer
3376c6d8c5
Rearrange order to build more frequently used tools first and make the
...
triplet ordering (large, small, small) explicit with one triplet per line.
llvm-svn: 29839
2006-08-23 00:12:11 +00:00
Reid Spencer
37162a57ab
Fix a typo.
...
llvm-svn: 29838
2006-08-23 00:06:14 +00:00
Reid Spencer
9d2f19c7e4
For PR797:
...
Change the Path::make*OnDisk methods exception free and adjust their usage.
llvm-svn: 29836
2006-08-22 23:27:23 +00:00
Reid Spencer
9afdac4a55
Rearrange the build order to better accommodate parallel build by reducing
...
memory pressure. This order spaces out large executables with small ones in
between so that in a -j2 or -j3 build, it only attempts to build only one
large executable at time. If you're doing -j4, you probably have enuogh
memory anyway.
llvm-svn: 29835
2006-08-22 23:21:21 +00:00
Reid Spencer
6ba87bbfd3
Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
...
adjust users of it to compensate.
llvm-svn: 29831
2006-08-22 19:01:30 +00:00
Reid Spencer
944645af44
For PR797:
...
Adjust usage of the ExecuteAndWait function to use the last argument which
is the ErrMsg string. This is necessitated because this function no longer
throws exceptions on error.
llvm-svn: 29791
2006-08-21 06:04:45 +00:00
Reid Spencer
a322366501
For PR885:
...
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
llvm-svn: 29787
2006-08-21 05:34:03 +00:00
Nate Begeman
a12dc61def
Fix a build failure
...
llvm-svn: 29786
2006-08-21 04:57:01 +00:00
Reid Spencer
c295914b7a
For PR797:
...
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.
llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Reid Spencer
54aa04f972
Make sure the verify pass gets run after the user's loaded passes as well
...
when the verify-each option is given.
llvm-svn: 29783
2006-08-20 20:54:38 +00:00
Reid Spencer
f2c6a5da97
Rename the -verify option to be -verify-each so that it doesn't conflict
...
with the -verify pass option. It is also more accurate in that this option
causes a verify option to be run after every pass.
llvm-svn: 29782
2006-08-20 20:48:44 +00:00
Reid Spencer
7ed9bb4b47
Convert llvm-ld to use the PluginLoader like opt instead of having its
...
one-off (and broken) RunOptimizations function. Also, run some cleanup
passes after the user's loaded passes run. This make sure to clean up
any cruft left around by thos passes.
This patch was inspired by a patch submitted by Bram Adams.
llvm-svn: 29781
2006-08-20 19:18:36 +00:00
Reid Spencer
713eedc1fb
For PR797:
...
Rid the Assembly Parser of exceptions. This is a really gross hack but it
will do until the Assembly Parser is re-written as a recursive descent.
The basic premise is that wherever the old "ThrowException" function was
called (new name: GenerateError) we set a flag (TriggerError). Every
production checks that flag and calls YYERROR if it is set. Additionally,
each call to ThrowException in the grammar is replaced with GEN_ERROR
which calls GenerateError and then YYERROR immediately. This prevents
the remaining production from continuing after an error condition.
llvm-svn: 29763
2006-08-18 08:43:06 +00:00