Commit Graph

1850 Commits

Author SHA1 Message Date
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
Reid Spencer 690d437920 Regenerate.
llvm-svn: 32140
2006-12-02 22:14:11 +00:00
Reid Spencer 9a8b3173cc Implement upgrade of setcc instruction to icmp/fcmp, but don't enable it
yet.

llvm-svn: 32139
2006-12-02 22:09:27 +00:00
Reid Spencer 1290f03fa3 Regenerate.
llvm-svn: 32128
2006-12-02 20:21:22 +00:00
Reid Spencer 2017e84f9a Support several new upgrades:
div -> fdiv/udiv/sdiv
  rem -> frem/urem/srem
  except -> unwind
  uninitialized -> external
as well as tracking the element type of pointers, packed, and array.

llvm-svn: 32127
2006-12-02 20:19:56 +00:00
Reid Spencer 7f327637b1 Regenerate.
llvm-svn: 32122
2006-12-02 16:19:52 +00:00
Reid Spencer 3a81da78a1 Implement the GEP upgrade for non-constant unsigned indices
llvm-svn: 32121
2006-12-02 16:19:28 +00:00
Reid Spencer 74fb4359a9 Keep lists of values so they can be examined.
llvm-svn: 32120
2006-12-02 15:16:01 +00:00
Reid Spencer f7e9f43e21 Build llvm-update now.
llvm-svn: 32116
2006-12-02 04:46:36 +00:00
Reid Spencer bc7daea442 Add support for global types and type resolution. Fix several minor
formatting and spacing bugs. This is sufficient for llvm-upgrade to
correctly upgrade all of llvm/test.

llvm-svn: 32114
2006-12-02 04:11:07 +00:00
Reid Spencer 114c808702 Handle upgrade of fp -> ptr cast with fp -> int -> ptr
llvm-svn: 32109
2006-12-01 23:40:53 +00:00
Reid Spencer 8a95b0bf21 Don't convert {} into []!
llvm-svn: 32106
2006-12-01 22:42:01 +00:00
Reid Spencer 7956c3647b Allow the new cast instructions.
llvm-svn: 32104
2006-12-01 22:34:43 +00:00
Reid Spencer c3f57a2f8b Upgrade shr to ashr and lshr
llvm-svn: 32103
2006-12-01 22:26:37 +00:00
Chris Lattner 571dd5778f target constructors are never used
llvm-svn: 32099
2006-12-01 21:59:37 +00:00
Reid Spencer f05199113c Don't treat numeric (untyped) constants as a ConstInfo, just pass the
string and let ConstVal add the type.

llvm-svn: 32096
2006-12-01 21:52:30 +00:00
Reid Spencer 7e798cc0ae First version of llvm-upgrade that can correctly upgrade all of
test/Feature

llvm-svn: 32092
2006-12-01 21:10:07 +00:00
Reid Spencer 16353d6583 valgrind clean version of llvm-upgrade
llvm-svn: 32090
2006-12-01 20:36:40 +00:00
Reid Spencer 2daa57894f First version of llvm-upgrade that can correctly upgrade a large test
case.

llvm-svn: 32089
2006-12-01 20:26:20 +00:00
Nick Lewycky f0371198ec Remove extra header.
llvm-svn: 32056
2006-12-01 01:05:14 +00:00
Nick Lewycky e5a8617778 Fix opt -o option. Don't pass a pointer to an auto variable which is going
away before it's needed, and don't try to delete that pointer!

llvm-svn: 32055
2006-12-01 00:43:14 +00:00
Reid Spencer 3867383db0 Allow llvm-upgrade to read from stdin. Configure the lexer for reading
from C++ std::istream.

llvm-svn: 32041
2006-11-30 16:50:26 +00:00
Reid Spencer 120b380bb5 Ignore generated files.
llvm-svn: 32031
2006-11-30 06:37:43 +00:00
Reid Spencer 8e60eec519 Initial, non-functional, version of llvm-upgrade. This version just echos
its input. Committed for safekeeping purposes. Don't use this yet.

llvm-svn: 32030
2006-11-30 06:36:44 +00:00
Bill Wendling afd54eb8b6 Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.

llvm-svn: 31990
2006-11-29 00:19:40 +00:00
Bill Wendling a531ac291c Convert to using llvm streams instead of iostreams.
llvm-svn: 31989
2006-11-28 23:33:06 +00:00
Reid Spencer d077fe70e9 Add an -append-exit-code option to bugpoint. This will cause bugpoint to
append "exit <retcode>" to the end of the output file. This is used by
the nightly tester to make bugpoint match the output generated by the
RunSafely.sh script so it doesn't find false positives.

llvm-svn: 31960
2006-11-28 07:04:10 +00:00
Reid Spencer 6c38f0bb07 For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.

llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Nick Lewycky 09b7e4d3ab Update to new predicate simplifier VRP design. Fixes PR966 and PR967.
Remove predicate simplifier from default gcc3 pipeline. New design is too
slow to enable by default.
Add new testcases for problems encountered in development.

llvm-svn: 31895
2006-11-22 23:49:16 +00:00
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
Reid Spencer 378f7d5d20 For PR872:
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes.  To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.

To use the analysis functionality, if you previously did this:
  analyze $FNAME -domset -disable-verify
you would now do this:
  opt -analyze $FNAME -domset -disable-verify
Pretty simple.

llvm-svn: 29762
2006-08-18 06:34:30 +00:00
Chris Lattner 56588abbf8 fit in 80 cols
llvm-svn: 29754
2006-08-17 18:51:28 +00:00
Chris Lattner 6e81c96cb8 minor cleanups
llvm-svn: 29753
2006-08-17 18:49:52 +00:00
Reid Spencer 4e41aaf805 Patches to correct several bugs in llvmc.
Patches contributed by Bram Adams. Thanks Bram.

llvm-svn: 29729
2006-08-16 20:31:44 +00:00
Patrick Jenkins 38a197a2eb Adding FindBugs.cpp so the -find-bugs option will work.
llvm-svn: 29704
2006-08-15 16:41:52 +00:00
Patrick Jenkins c46c03834c This commit adds a new feature called find-bugs. The find-bugs option can be invoked on a .bc file from the command like with -find-bugs and a list of passes you wish to test. This procedure takes the set of optimization passes the user specifies, randomizes the passes, runs the passes on the specified .bc file, compiles the program, and finally runs the program checking its output vs the .bc file with no optimizations. This process repeats until either the user kills bugpoint or an error occurs in the optimizations, program complitation, or the running of the program. If an error occurs, bugpoint attempts to diagnose the error by eliminating passes that are not at fault and code that is not needed.
llvm-svn: 29703
2006-08-15 16:40:49 +00:00
Devang Patel 151c3969b1 untabify
llvm-svn: 29686
2006-08-14 23:37:18 +00:00
Devang Patel 4500688cc7 Use mangler, instead of addUnderscore(), to get mangled name.
Now, LLVMSymbol keeps symbol original name and mangled name.

llvm-svn: 29679
2006-08-14 22:36:16 +00:00
Reid Spencer 82c0e38366 Provide indentation of the generated program.
llvm-svn: 29678
2006-08-14 22:35:15 +00:00
Reid Spencer 47fcb4779d Don't print double newline for --src-root and --obj-root as it tends to
confuse shells that might use this output.

llvm-svn: 29629
2006-08-11 21:50:24 +00:00
Anton Korobeynikov 4bf026787a Fixed typo. Thanks, Reid.
llvm-svn: 29533
2006-08-04 22:55:53 +00:00
Anton Korobeynikov ec35113141 Removed usage of "sort", which can lead to undeterministic behavior on mingw & cygwin platforms.
llvm-svn: 29532
2006-08-04 21:52:23 +00:00
Devang Patel 308f033e59 Collect references from globals.
llvm-svn: 29530
2006-08-04 19:10:26 +00:00
Reid Spencer a5c3483f7d For PR845:
Enable the makefile check on the result of find-cycles.pl. LLVM is now
cycle free and we intend to keep it that way. This patch will fail the
build if cycles are found.

llvm-svn: 29517
2006-08-03 21:46:42 +00:00
Reid Spencer c45a6e40bd Fix a typo in the name of expand_dependencies.
Make the dependency line pattern match handle white space better.

llvm-svn: 29516
2006-08-03 21:45:35 +00:00
Devang Patel a108423475 Make it fit into 80-columns.
llvm-svn: 29503
2006-08-03 17:26:30 +00:00
Devang Patel 27672ee821 Fix typo.
llvm-svn: 29502
2006-08-03 17:25:36 +00:00
Devang Patel acd4b07075 Simplify. Use addprefix.
llvm-svn: 29501
2006-08-03 17:18:45 +00:00
Chris Lattner baf6ef94c1 Now that SparcV9 is gone, this logical can be simplified significantly.
llvm-svn: 29498
2006-08-03 16:59:17 +00:00
Devang Patel d615e20ef3 Remove ARM for the moment since it is a work in progress.
llvm-svn: 29495
2006-08-03 16:14:09 +00:00
Devang Patel 36839b8637 Add new tool, lto, to do link time optimization. This tool installs
dynamic library that linker can use to optimize llvm byte codes at
link time.

llvm-svn: 29494
2006-08-03 15:44:57 +00:00
Chris Lattner 5af6a3ffdb Fix the build on case-sensitive filesystems :(
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Chris Lattner b25c49dd0c no need to check readability here
llvm-svn: 29449
2006-08-01 18:22:21 +00:00
Chris Lattner ec905190bf No need to check isWriteable here (which isn't sufficient anyway). Just attempt
to do the operation and if it fails, oh well.

llvm-svn: 29446
2006-08-01 18:12:29 +00:00
Chris Lattner 63c5e1cf92 Use Path::getFileStatus
llvm-svn: 29445
2006-08-01 18:09:46 +00:00
Chris Lattner 32ffbc316a Use Path::getFileStatus to get status-related info.
llvm-svn: 29444
2006-08-01 18:04:01 +00:00
Jim Laskey 95eda5b1f3 Introducing plugable register allocators and instruction schedulers.
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Chris Lattner 4857253d98 Change Path::getStatusInfo to return a boolean and error string on an error
instead of throwing an exception.  This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.

llvm-svn: 29395
2006-07-28 22:03:44 +00:00
Patrick Jenkins 752d52cbb6 Updating the comments above SplitFunctionsOutOfModule in ExtractFunction.cpp to reflect the changes made to that function. Specifically I am removing the FIXME comment because the issue has been addressed.
llvm-svn: 29385
2006-07-28 18:03:01 +00:00
Patrick Jenkins b417a5c166 This commit improves bugpoints speed. On my G4 this changed caused kimwitu++ to run through bugpoint in 1091.15 seconds (user + system time). The time it took to run this on my G4 before I made these changes is 1420.82 seconds (user + system time). This is a speedup of about 5.5 minutes.
This is faster because SplitFunctionsOutOfModule no longer calls Clone Module and then removes the functions it doesnt want from the module returned. Instead it creates a module and copies over the specified functions, making changes to the new and old module where neccessary. This reduces the memory demand.

llvm-svn: 29379
2006-07-28 01:19:28 +00:00
Reid Spencer b101b1bf60 Undo last commit, which was committed accidentally.
llvm-svn: 29369
2006-07-27 23:19:00 +00:00
Reid Spencer eca6f7320e Changes to support cross-compiling LLVM. The GenLibDeps.pl script needs to
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!

llvm-svn: 29368
2006-07-27 23:00:30 +00:00
Chris Lattner 44b1e8e53f Avoid a "scary" make warning for the 1.8 release. This should be reenabled
right after 1.8 "ships".

llvm-svn: 29308
2006-07-26 21:14:04 +00:00
Chris Lattner 729b7a98ad Add llvm2cpp to DIRs list
llvm-svn: 29299
2006-07-26 20:19:06 +00:00
Reid Spencer 5fd1180d71 Make changes necessary for stopping the build if a cyclic library
dependency is found. The find-cycles.pl script now exits with a return code
that equals the number of cycles found. The Makefile was changed to ignore
the status code of find-cycles.pl. This should be removed once the libraries
are free of cyclic dependencies.

llvm-svn: 29290
2006-07-26 17:10:54 +00:00
Reid Spencer 1c937fe257 Build llvm-config to identify library cycles earlier in the build process.
llvm-svn: 29289
2006-07-26 17:06:02 +00:00
Devang Patel 2c15c01c19 Fix MacOSX build failures. (pr841)
llvm-svn: 29246
2006-07-21 19:44:55 +00:00
Chris Lattner 55782c6c41 Build more debugger/selectiondag libraries as archives instead of .o files.
This works around bugs in some versions of the cygwin linker.

Patch contributed by Anton Korobeynikov.

llvm-svn: 29239
2006-07-21 00:10:47 +00:00
Andrew Lenharth 2b0baddc33 Fix linking on Alpha
llvm-svn: 29219
2006-07-20 17:27:58 +00:00
Reid Spencer 546436c482 Finish removal of EH usage from the Archive library. The REQUIRES_EH flag
in lib/Bytecode/Archive/Makefile is now removed. One small step closer to
a smaller LLVM.

llvm-svn: 29067
2006-07-07 20:56:50 +00:00
Reid Spencer cfa807ab31 Remove EH use from the Archive library and adjust its users accordingly.
llvm-svn: 29066
2006-07-07 19:09:14 +00:00
Chris Lattner 05a8970245 Tools require EH for their top-level try blocks.
llvm-svn: 29035
2006-07-07 00:46:19 +00:00
Chris Lattner 35359d9705 Fix PR819, llvm2cpp should read .bc files, not .ll files.
llvm-svn: 29030
2006-07-06 23:48:57 +00:00
Chris Lattner 5734e8d7c3 Change the verifier to never throw an exception. Instead verifyModule canoptionally return the string error, which is an easier api for clients touse anyway.
llvm-svn: 29017
2006-07-06 18:02:27 +00:00
Reid Spencer ad88ff24b8 Split long comment lines.
llvm-svn: 28988
2006-07-03 16:46:03 +00:00
Chris Lattner cc21fa7b41 Pass -Xlinker flags to gcc when it builds the shared object.
llvm-svn: 28939
2006-06-27 20:35:36 +00:00
Devang Patel 039215b020 Fix cut-n-pasto in comments.
llvm-svn: 28928
2006-06-27 18:07:29 +00:00
Chris Lattner 41c173c68a Remove unneeded libs
llvm-svn: 28900
2006-06-21 17:26:13 +00:00
Reid Spencer c95970be9d For PR811:
Don't both with the "C" and "cc" extensions as they aren't common and they
the "C" extension conflicts with the "c" extension on operating systems
that have case insensitive file names.

llvm-svn: 28899
2006-06-21 17:21:39 +00:00
Chris Lattner 16cf81306e Don't pass target name into TargetData anymore, it is never used or needed.
llvm-svn: 28831
2006-06-16 18:23:49 +00:00
Reid Spencer aba6398f8b Actually add instructions to the list of defined values so it gets
recognized as such!  This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.

llvm-svn: 28800
2006-06-15 16:09:59 +00:00
Chris Lattner 20ec1654b1 Teach bugpoint to kill optimization passes that run over the timeout limit,
which allows it to debug optimizer infinite loops.  This patch is contributed
by Nick Lewycky, thanks!

llvm-svn: 28763
2006-06-13 03:10:48 +00:00
Chris Lattner 572e78c2f9 After telling GCC to type of the input file with -x asm/-x c, switch back to
-x none, to not foul up autodetection of .a file or .dylibs.

llvm-svn: 28741
2006-06-09 21:31:53 +00:00
Chris Lattner c944417749 This no longer needs plugins, this it doesn't need all of VMCore.
llvm-svn: 28723
2006-06-08 00:25:44 +00:00
Reid Spencer ed95105b45 Shorten a value description so --help out isn't so wide.
llvm-svn: 28721
2006-06-07 23:07:51 +00:00
Reid Spencer c1588f624c Make sure this tool links in all of libVMCore.a because it can --load
shared objects.

llvm-svn: 28720
2006-06-07 23:06:50 +00:00
Reid Spencer 5113dc5cfe For PR780:
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o
2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage
3. Make each of the tools with --load options include LinkAllVMCore.h
This should be the last set of changes for this bug and 800.

llvm-svn: 28719
2006-06-07 23:03:13 +00:00
Chris Lattner 3273056546 Remove useless noop argument
llvm-svn: 28706
2006-06-07 00:43:18 +00:00
Chris Lattner 64064c2157 Fix a bug in the following scenario.
1. llvm is built with objroot = OBJ and installed.
2. OBJ is deleted or install tree is shipped.
3. llvm-config is run.

In this scenario, llvm-config shouldn't emit an error message at #3, it
should just know it's not running in the objdir :)

llvm-svn: 28704
2006-06-06 23:54:15 +00:00
Chris Lattner 330d4d006a Add a new --libfiles option, for getting fully-qualified pathnames to libraries.
This can be used for tools that want makefile rules to depend on the libraries
(e.g. so the tool is relinked when a library changes).

llvm-svn: 28701
2006-06-06 22:38:29 +00:00
Chris Lattner ffac286737 Move ToolRunner.(cpp|h) into the bugpoint directory
llvm-svn: 28699
2006-06-06 22:30:59 +00:00
Chris Lattner 54a417be00 Make the llvm-config library dependency database depend on all of the libraries.
llvm-svn: 28695
2006-06-06 17:43:03 +00:00
Reid Spencer c3065b7d3f Add the -Xlinker option to bugpoint which allows an option to be passed
through to gcc when its being used as a linker. This allows -L and -l
(and any other) options to be added so that non-complete bytecode files
can be processed with bugpoint. The -Xlinker option can be added as many
times as needed.

llvm-svn: 28692
2006-06-06 00:00:42 +00:00
Chris Lattner 78e03500ed temporarily add back this option, I will remove it in a couple days
llvm-svn: 28675
2006-06-02 23:43:27 +00:00
Chris Lattner e2e2492d8a Fix a -pedantic warning
llvm-svn: 28670
2006-06-02 22:11:06 +00:00
Chris Lattner dfa9b5aa68 Add flags to get access to build_mode, objdir, srcdir etc.
If installed, ignore the prefix the tree is configured with: always use the
prefix that llvm-config is currently at, which may be different if the tree
was moved.

llvm-svn: 28669
2006-06-02 22:03:50 +00:00
Chris Lattner c04e4c13cc Make llvm-config "do the right thing" when an install tree is relocated or
when run out of a build directory.

llvm-svn: 28668
2006-06-02 21:48:10 +00:00
Chris Lattner 753a92bdb7 Capture the build mode (e.g. Debug/Release) in the llvm-config script.
llvm-svn: 28665
2006-06-02 19:13:29 +00:00
Chris Lattner 076f7336d4 Convert to standard file header
llvm-svn: 28663
2006-06-02 18:58:21 +00:00
Chris Lattner 0c32b9666d Remove a couple of things no longer figured out by autoconf
llvm-svn: 28662
2006-06-02 18:55:36 +00:00
Reid Spencer ecdecdb2ee Add several more autoconf variables so that new features can be implemented
by our illustrious project leader.

llvm-svn: 28659
2006-06-02 18:31:41 +00:00
Chris Lattner 40c5cf2d75 Add a gross "--use-current-dir-as-prefix" option as a temporary workaround
for the "build with one prefix and move the installed files to another dir"
problem.

llvm-svn: 28654
2006-06-02 01:23:18 +00:00
Chris Lattner c3e42bb0cf Remove some variables from the configured section that aren't.
llvm-svn: 28653
2006-06-02 01:04:35 +00:00
Chris Lattner 2f9bea15f0 Remove more "alpha is archive" stuff.
llvm-svn: 28652
2006-06-02 00:56:15 +00:00
Reid Spencer aa1b11cdc3 Suppress -pedantic warnings about print("%a")
llvm-svn: 28650
2006-06-02 00:39:08 +00:00
Chris Lattner 323906e028 Remove obsolete CORE_IS_ARCHIVE support
llvm-svn: 28649
2006-06-02 00:30:31 +00:00
Chris Lattner 194819bd90 Update the ignore file
llvm-svn: 28647
2006-06-02 00:23:15 +00:00
Reid Spencer b83051a28f Teach CppWriter how to emit an inline (partial) function.
llvm-svn: 28645
2006-06-01 23:43:47 +00:00
Reid Spencer 3364e527bc Restore default arguments for llvm2cpp back to health by declaring an
emitted variable to actually have a type (picky, picky, picky!)

llvm-svn: 28625
2006-06-01 07:24:29 +00:00
Reid Spencer 83f6d05c08 Fix a bug where incorrect C++ was being emitted.
llvm-svn: 28615
2006-06-01 04:21:20 +00:00
Reid Spencer 08f1030658 Build llvm-config into the ToolDir not in the local directory. This makes
it more likely to be in a developer's path and consistent with all the
other tools.

llvm-svn: 28613
2006-06-01 01:52:49 +00:00
Reid Spencer 7fa8f334bf Oops, llc needs libTarget.a not Target.o
llvm-svn: 28611
2006-06-01 01:42:33 +00:00
Reid Spencer a647c7ff42 Use archive libraries instead of object files for VMCore, BCReader,
BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate
these changes. This was done to speed up link times.

llvm-svn: 28610
2006-06-01 01:30:27 +00:00
Andrew Lenharth 53250e7fcb fix utostr
llvm-svn: 28597
2006-05-31 20:18:56 +00:00
Reid Spencer de2daad0ac Major reorganization and extension of the code. The diff on this will be a
mess as functions were moved around into a better ordering. The code was
extended to provide various -gen-* options to better control what the
generated output should be. Currently it is possible to generate entire
modules (three different ways), functions, global variables, and types.

llvm-svn: 28589
2006-05-31 17:31:38 +00:00
Reid Spencer 03977ec9b1 Don't generate module definitions when the -fragment option is given.
llvm-svn: 28583
2006-05-31 04:43:19 +00:00
Reid Spencer c3b9370754 llvm2cpp is ready to be compiled so add it to the makefile, but make it
optional.

llvm-svn: 28570
2006-05-30 21:20:55 +00:00
Reid Spencer 30945ca559 Fix more bugs. This version now passes all of the Feature test except for
a floating point conversion problem with NAN in intrinsics.ll. llvm2cpp
makes an attempt to provide the correct conversion, based on the
implementation in the CBackend writer, but it doesn't get NAN correct.

llvm-svn: 28568
2006-05-30 21:18:23 +00:00
Reid Spencer 37cf1765ed Fix many small bugs in llvm2cpp. This patch gets llvm2cpp working with
everything except PHI nodes and one odd recurse/opaque type situation.
PHI nodes forward reference INSTRUCTIONS (aaaaaaaahhhhhhh!) :)

llvm-svn: 28554
2006-05-30 10:21:41 +00:00
Reid Spencer c267698f23 First complete version of llvm2cpp that doesn't crash on any of the Feature
tests. The output in a few cases still doesn't compile, however.

llvm-svn: 28547
2006-05-30 03:43:49 +00:00
Chris Lattner d65928994a Silly cleanup
llvm-svn: 28544
2006-05-29 18:52:52 +00:00
Chris Lattner dc0b3afcdd silly cleanup
llvm-svn: 28543
2006-05-29 18:52:05 +00:00
Reid Spencer c194e7e843 Next batch of implementation:
1. Get rid of old AsmWriter cruft that's not needed.
2. Implement several instructions. Enough to get by globalvars.ll and
   alignment.ll in the Feature test suite.
3. Handle constants properly (don't repeat definitions).
4. Make the output compatible with llvm-dis for diff purposes.

llvm-svn: 28541
2006-05-29 18:08:06 +00:00
Reid Spencer 4967fa722d Fix file header comment.
llvm-svn: 28540
2006-05-29 18:06:28 +00:00
Reid Spencer fe361813aa Remove temporary testing rules.
llvm-svn: 28539
2006-05-29 18:05:59 +00:00
Reid Spencer 84f1a3e639 Fix two bugs in the CppWriter.cpp:
1. Return the module from the MakeModule function so it can be verified.
2. Make sure types get generated with their names

llvm-svn: 28536
2006-05-29 02:58:15 +00:00
Reid Spencer 7af13d73f7 Fix the file's comment block.
llvm-svn: 28535
2006-05-29 02:35:29 +00:00
Reid Spencer 58d5dce11d Initial Commit of llvm2cpp
This is a safekeeping commit. The program is not finished. It currently
handles modules, types, global variables and function declarations. Blocks
and instructions remain to be done.

llvm-svn: 28528
2006-05-29 00:57:22 +00:00
Reid Spencer 6e64180f03 For PR786:
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.

llvm-svn: 28453
2006-05-24 19:21:13 +00:00
Chris Lattner aa2372562e Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov!  This is a step towards closing PR786.

llvm-svn: 28447
2006-05-24 17:04:05 +00:00
Reid Spencer 1df84eb2d1 Remove the llvm-db and bugpoint restrictions from the win32 platform so
they can be compiled with ming32. The use of fork(2) has been removed.

llvm-svn: 28369
2006-05-17 21:20:50 +00:00
Rafael Espindola ffdc24b847 added a skeleton of the ARM backend
llvm-svn: 28301
2006-05-14 22:18:28 +00:00
Chris Lattner ab81de7514 Free memory allocated by copy_env.
llvm-svn: 28299
2006-05-14 19:17:28 +00:00
Chris Lattner 2bd9d8eaca print a nice error if bugpoint gets an error reading inputs. Bug identified
by coverity.

llvm-svn: 28298
2006-05-14 19:15:56 +00:00
Chris Lattner 90abfe4bd9 Fix a bug found by inspection.
llvm-svn: 28297
2006-05-14 19:11:40 +00:00
Chris Lattner 44f90c93e6 Delete memory allocated by CopyEnv
llvm-svn: 28288
2006-05-14 18:38:13 +00:00
Chris Lattner 917f8fd1d9 Remove dead return value.
llvm-svn: 28245
2006-05-12 17:28:36 +00:00
Owen Anderson 8c2c1e90c4 Refactor a bunch of includes so that TargetMachine.h doesn't have to include
TargetData.h.  This should make recompiles a bit faster with my current
TargetData tinkering.

llvm-svn: 28238
2006-05-12 06:33:49 +00:00
Chris Lattner 34d26c38b2 wrap long line
llvm-svn: 28113
2006-05-04 23:35:31 +00:00
Chris Lattner b6277c510c Adjust to use proper TargetData copy ctor
llvm-svn: 28112
2006-05-04 21:18:40 +00:00
Reid Spencer 76a0a8aa37 For PR764:
Don't check in the LibDeps.txt and FinalLibDeps.txt files to CVS because
the content differs from platform to platform. Instead, adjust the makefile
so that a dummy llvm-config is built if Perl is not available.

llvm-svn: 28084
2006-05-03 17:49:50 +00:00
Owen Anderson 20a631fde7 Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.
This fixes PR 759.

llvm-svn: 28074
2006-05-03 01:29:57 +00:00
Chris Lattner 17aae4c516 This no longer needs the JIT.
llvm-svn: 27942
2006-04-22 05:04:23 +00:00
Reid Spencer 2b1041cf13 Okay, llvm-config is good to go now.
llvm-svn: 27916
2006-04-20 21:14:39 +00:00
Reid Spencer 5952201b67 Several Changes To Support Building llvm-config:
1. If Perl is not available, don't run Perl dependent targets.
2. Check in FinalLibDeps.txt for build environments that can't build it
   because there's no Perl processor.
3. Ensure that FinalLibDeps.txt depends on LibDeps.txt so it is
   automatically regenerated.
4. Support objdir != srcdir building.

llvm-svn: 27915
2006-04-20 21:13:58 +00:00
Reid Spencer 62b9b71ff7 Don't build llvm-config until issues are resolved.
llvm-svn: 27914
2006-04-20 21:00:24 +00:00
Reid Spencer 57d891afe1 Build the llvm-config directory as a tool.
llvm-svn: 27913
2006-04-20 20:53:23 +00:00
Chris Lattner 53f4499b22 Never link in sparcv9
llvm-svn: 27884
2006-04-20 17:07:46 +00:00
Andrew Lenharth 2bdd6fe9ef fix printing call graphs
llvm-svn: 27820
2006-04-18 23:45:19 +00:00
Chris Lattner 9232c8c1c5 Add a warning.
llvm-svn: 27795
2006-04-18 05:31:20 +00:00
Chris Lattner 3af67456dd Add a warning
llvm-svn: 27794
2006-04-18 05:26:10 +00:00
Reid Spencer 097122a246 Distribute CVS versions of lex files
llvm-svn: 27629
2006-04-12 20:56:12 +00:00
Jeff Cohen 0eafbc3593 Get JIT/Interpreter working on Windows again.
llvm-svn: 27037
2006-03-24 02:53:49 +00:00
Reid Spencer 13f65f29e0 Ignore the lexer output.
llvm-svn: 27034
2006-03-24 02:22:22 +00:00
Chris Lattner 811dd8d009 remove always-null IntrinsicLowering argument.
llvm-svn: 26971
2006-03-23 05:28:02 +00:00
Chris Lattner 56ee4ea22f add an assert to get a slightly better msg about this problem
llvm-svn: 26812
2006-03-16 23:16:17 +00:00
Reid Spencer c67a060a51 Convert llvm.cs.uiuc.edu -> llvm.org
llvm-svn: 26748
2006-03-14 05:54:52 +00:00
Chris Lattner fdb533a1f6 Fix a really annoying bug in bugpoint that made reducing C++ testcases
almost impossible with the new CFE.  It now guarantees that the static
ctor/dtor list is correctly split between the modules.

llvm-svn: 26624
2006-03-08 23:55:38 +00:00
Chris Lattner d0eb1d12d2 Fit to 80 columns.
Add support for running static ctor/dtors that aren't handled by __main.
This fixes programs with the JIT and the new CFE, such as HBD.

llvm-svn: 26620
2006-03-08 18:43:36 +00:00
Reid Spencer 8e5da55b6d Make sure command line options are parsed before we try to add the LibPath
(-L options) to TheLinker. Problem noticed by Wink Saville.

llvm-svn: 26571
2006-03-06 06:38:19 +00:00
Andrew Lenharth ef9aa1294a For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main
llvm-svn: 26557
2006-03-05 22:21:36 +00:00
Robert Bocchino 101a959531 Implemented -quiet feature for analyze
llvm-svn: 26494
2006-03-03 02:12:04 +00:00
Chris Lattner 8bd3e91fa2 Turn on loop unswitching tonight
llvm-svn: 26312
2006-02-22 07:33:49 +00:00
Chris Lattner 02f92a88b6 reorder some libraries
llvm-svn: 26309
2006-02-22 00:59:06 +00:00
Chris Lattner e5002f3e09 remove support for the skeleton target
llvm-svn: 26236
2006-02-16 21:10:57 +00:00
Chris Lattner e01ff337ee Adjust to new style "generated files in CVS" mechanism for lex output
llvm-svn: 26163
2006-02-14 05:16:35 +00:00
Chris Lattner 806024f7a3 SparcV8 -> Sparc
llvm-svn: 26008
2006-02-05 08:30:45 +00:00
Andrew Lenharth 67e0189faa Pass plugins on to children when optimizing.
llvm-svn: 25650
2006-01-26 18:37:21 +00:00
Chris Lattner 3090f923bd Remove dead #include
llvm-svn: 25520
2006-01-23 00:38:14 +00:00
Chris Lattner af044cc84b It doesn't make sense to give llc a list of passes on the command line,
LLVM doesn't use it and it can't work anyway.

llvm-svn: 25519
2006-01-23 00:36:05 +00:00
Chris Lattner 8d8a19fa58 this doesn't work, remove it
llvm-svn: 25518
2006-01-23 00:32:33 +00:00
Chris Lattner 03c032ce71 add explicit #includes of iostream
llvm-svn: 25510
2006-01-22 22:53:40 +00:00
Reid Spencer 5995c57574 For PR521:
With these patches we implement the ability for the Linker library to
keep track of which libraries were actually bytecode files (not archives)
and cause their users to remove such files from the list of libraries to
pass to the native linker.

llvm-svn: 25169
2006-01-10 03:14:40 +00:00
Reid Spencer 9d59a8273e Fix line length of a comment.
llvm-svn: 25149
2006-01-08 22:40:10 +00:00
Chris Lattner 95d46c17c0 remove unused header
llvm-svn: 25101
2006-01-05 00:21:37 +00:00
Jim Laskey 219d559824 Applied some recommend changes from sabre. The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.

llvm-svn: 25100
2006-01-04 22:28:25 +00:00
Jim Laskey 9744c6292b Adding MachineDebugInfo as a immutable pass.
llvm-svn: 25088
2006-01-04 13:42:02 +00:00
Reid Spencer 60c1a12019 Revert removal of std:: prefixes and addtion of "using namespace std;".
This violates the LLVM coding standards.

llvm-svn: 25050
2005-12-30 09:07:29 +00:00
Duraid Madina b8d1012487 don't need this anymore
llvm-svn: 25049
2005-12-30 02:50:44 +00:00
Duraid Madina ce551baee6 delete file portably
llvm-svn: 25048
2005-12-30 02:47:21 +00:00
Reid Spencer 9695ae00bf General cleanup:
1. Don't mix C++ and C standard I/O, convert to C++ iostreams
2. Wrap long lines
3. use the std namespace to simplify/shorten the code

llvm-svn: 25042
2005-12-29 21:13:45 +00:00
Duraid Madina fad8e748be ditto
llvm-svn: 25038
2005-12-28 06:58:12 +00:00