Chris Lattner [Wed, 30 Jul 2003 22:15:58 +0000 (22:15 +0000)]
Add support for code fragments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 21:47:42 +0000 (21:47 +0000)]
Initial support for the 'code' type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7439
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 21:45:20 +0000 (21:45 +0000)]
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 21:00:37 +0000 (21:00 +0000)]
We no longer need to preprocess SparcV9.td before sending it through tablegen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 20:56:47 +0000 (20:56 +0000)]
Move err() to the lexer, implement file inclusion capabilities directly in tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 20:55:37 +0000 (20:55 +0000)]
Add test of file inclusion capability for bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7435
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 20:15:56 +0000 (20:15 +0000)]
CodeGeneratorBug.cpp:
* Temporarily externing InputArgv to print it out for the benefit of LLI command
needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it
ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
found. Also correctly handles the case when there is only 1 pass/function.
Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7434
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 20:15:44 +0000 (20:15 +0000)]
* Moved InputArgv out of anonymous scope to be extern'd in another file.
* Added DEBUG() statements to print out parameters passed to executing programs
* Actually ADD parameters to a program running via the JIT (using vector<char*>)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 19:55:10 +0000 (19:55 +0000)]
Minor reorganization, move ParseFile to the lexer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7432
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 19:48:02 +0000 (19:48 +0000)]
Make tablegen take an input filename to parse if one is specified, otherwise
use stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 19:40:00 +0000 (19:40 +0000)]
Initial tests for tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7430
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 19:39:36 +0000 (19:39 +0000)]
Directly support C style comments in tblgen, but allow them to actually nest
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7429
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 19:04:37 +0000 (19:04 +0000)]
Fix a bug that brian reported
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7428
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 17:59:23 +0000 (17:59 +0000)]
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7427
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 17:44:15 +0000 (17:44 +0000)]
Use a vector<char*> instead of char*[] so that we can add arbitrary number of
parameters, such as command-line arguments that the executing program gets via
bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 17:36:07 +0000 (17:36 +0000)]
Add variable to capture arguments that should be passed to the user program
This is unused so far.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 17:34:02 +0000 (17:34 +0000)]
Add support for "named positional arguments"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7421
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 30 Jul 2003 15:29:55 +0000 (15:29 +0000)]
Revert change: default architecture is never set, it is guessed from input
bytecode file. This means that LLC on X86 will compile to Sparc assembly given a
64-bit input bytecode file...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7419
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 30 Jul 2003 12:54:47 +0000 (12:54 +0000)]
When emitting a constant, check for ConstantExpr before
ordinary (primitive) types since ConstantExprs may be of primitive type!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7418
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 30 Jul 2003 12:49:25 +0000 (12:49 +0000)]
1. Make table size prime -- improves hashing performance vastly.
2. Reduce #hashes from 2 to 1 for initial inserts.
3. Fix incorrect assertion from last checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7417
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:51:34 +0000 (05:51 +0000)]
Conform to the new interface for describing target registers... even though
it's currently not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7416
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:50:12 +0000 (05:50 +0000)]
Add all of the necessary classes to describe the contents of the MRegister.h implementation
for a target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:49:17 +0000 (05:49 +0000)]
Only regenerate the .inc file if IT has changed, not just if the .td files
have changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:33:48 +0000 (05:33 +0000)]
Use target specific interface instead of forcing it to be target-generic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7413
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:29:45 +0000 (05:29 +0000)]
Code generation passes don't need access to raw LLVM types, this method is unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 05:17:35 +0000 (05:17 +0000)]
Fix coredump for when an ID is used illegally outside a record
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 04:56:05 +0000 (04:56 +0000)]
Don't pollute the namespace with template arguments after they have been resolved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 04:31:17 +0000 (04:31 +0000)]
Implement TODO: disallow 'def's with template arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7409
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 04:26:44 +0000 (04:26 +0000)]
Allow specification of anonymous definitions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7408
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 04:16:52 +0000 (04:16 +0000)]
Allow passing lists through variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 04:05:07 +0000 (04:05 +0000)]
Implement resolution of variables to the value of the variable once it gets a value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7406
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 23:07:13 +0000 (23:07 +0000)]
No this file is not actually Sparc.td :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 23:04:41 +0000 (23:04 +0000)]
Do not use 'cpp' directly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7404
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 23:02:49 +0000 (23:02 +0000)]
Add namespace specifier, add flags used by the X86 BE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 23:00:08 +0000 (23:00 +0000)]
Don't crash if there is no Inst class in the tablegen file!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7402
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 29 Jul 2003 21:21:20 +0000 (21:21 +0000)]
* Cleaned up and corrected comments wrt instruction formats
* Enabled STXFSR instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7400
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 29 Jul 2003 20:52:56 +0000 (20:52 +0000)]
Make emitFarCall() public, and add a few comments to functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7399
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 20:30:20 +0000 (20:30 +0000)]
Unify all constant evaluations that depend on register size
in TargetInstrInfo::ConvertConstantToIntType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7398
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 20:01:01 +0000 (20:01 +0000)]
Bug fix: after reallocating the hash table, we have to re-insert each value
instead of copying table entries!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7396
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:59:23 +0000 (19:59 +0000)]
Unify all constant evaluations that depend on register size
in ConvertConstantToIntType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7395
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:58:00 +0000 (19:58 +0000)]
Rename 'dump-asm' to 'dump-input' and really print it just before code-gen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7394
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:57:34 +0000 (19:57 +0000)]
Bug fix: don't unnecessarily pretty-print control-characters, some of
which were wrong (particularly, '\a' for '\007').
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7393
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:54:41 +0000 (19:54 +0000)]
Add ConvertConstantToIntType() to unify all constant handling
that depends on machine register size.
Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall to TargetRegInfo: they are all
machine independent. Remove several dead functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7392
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:53:21 +0000 (19:53 +0000)]
Add code to support stack spill/temp offsets that don't fit in the
immed. field. Moved insertCallerSavingCode() to PhyRegAlloc: it is
now machine independent. Remove all uses of PhyRegAlloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7391
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:50:12 +0000 (19:50 +0000)]
All constant-evaluation code now unified into
TargetInstrInfo::ConvertConstantToIntType().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7390
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:49:21 +0000 (19:49 +0000)]
1. Bug fix: Don't use branch operand reg. as temp. reg. when
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).
2. Bug fix: Delete the delay slot instr, not the branch instr, when
moving delay slot instr. out!!!!
3. Move code to insert caller-saves moved here from SparcRegInfo:
it is now machine-independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7389
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:42:32 +0000 (19:42 +0000)]
Don't require a BB to look-up live variables, unless they may need to
be recomputed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7388
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:41:23 +0000 (19:41 +0000)]
Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall here: they are all
machine independent. Remove all uses of PhyRegAlloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7387
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:38:22 +0000 (19:38 +0000)]
Add const version of getLiveRangeForValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7386
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:37:41 +0000 (19:37 +0000)]
Code to insert caller-saves moved here from SparcRegInfo: it is now
machine-independent.
Fix problem with using branch operand reg. as temp. reg. when
spilling values used by an instruction in the delay slot of the branch
(which will eventually be moved before the branch).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7385
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 19:32:04 +0000 (19:32 +0000)]
Don't require a BB to look-up live variables, unless they may need to
be recomputed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7384
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 29 Jul 2003 19:11:58 +0000 (19:11 +0000)]
Enable JIT when the platform supports it.
Select /localhome/$USER when it exists.
Fix the checks for bidirectional and forward iterators so that they work with
version of GCC prior to 3.x.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7383
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 29 Jul 2003 19:00:58 +0000 (19:00 +0000)]
* Correctly emit a far call if the target address does not fit into 30 bits
instead of assert()ing
* Fixed a nasty bug where '07' was used instead of register 'o7'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7382
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 29 Jul 2003 16:57:16 +0000 (16:57 +0000)]
* Stop hard-coding a value for beginning of emitted code on Sparc since we can
now handle far calls (i.e., beyond the 30-bit limit in call instructions).
* As a side-effect, this allows us to unify and clean up the mmap() call and
code around it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7381
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 29 Jul 2003 16:02:28 +0000 (16:02 +0000)]
* Disambiguate symbols before we start splitting module by functions
* Moved DisambiguateGlobalSymbols() out of the ReduceMisCodegenFunctions class
* Added an assert to have a cleaner exit if `main' is not found in the module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7380
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 29 Jul 2003 14:02:40 +0000 (14:02 +0000)]
Regression test for incorrect character emitted to char array.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7379
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 05:15:44 +0000 (05:15 +0000)]
Fix copy and paste-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 05:14:16 +0000 (05:14 +0000)]
Move "register flags" definition the type of registers to be fully fledged
value types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 05:13:34 +0000 (05:13 +0000)]
Move value type enums to CodeGen/ValueTypes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 29 Jul 2003 05:13:09 +0000 (05:13 +0000)]
Define target value types in a form usable by target-independent code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7375
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 21:57:18 +0000 (21:57 +0000)]
Made many paragraphs fit into 80 characters per line to avoid wrapping in an
editor window. Re-worded confusing description about interdependence of modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 21:20:57 +0000 (21:20 +0000)]
Add support for Alpha intrinsics, contributed by Rahul Joshi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 21:18:21 +0000 (21:18 +0000)]
Add alpha intrinsics, contributed by Rahul Joshi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7372
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 21:07:39 +0000 (21:07 +0000)]
Implemented cleanups as suggested by Chris:
* Use Module::getNamedFunction() to delete "main" instead of using a loop
* Compare function pointers instead of function names to determine equivalence
* Simplified creation of a 2-element vector containing zeroes
* Manually performed LICM on code
* Added an abort() in case a function we're considering occurs in something that
is not an instruction
* Use DEBUG() around code sections instead of just in a statement in a loop,
because GCC's DCE may not be good enough to completely remove it in a release
build
* Print out a command that can be directly copied-and-pasted to re-execute
* Instead of just checking if a symbol begins with a dot and fixing it
accordingly, use Mangler and fix all the problems (invalid chars in C symbol
names) entirely
* The new `main' function has external linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7371
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 20:59:16 +0000 (20:59 +0000)]
Added comment to function isExecutingJIT()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7370
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 28 Jul 2003 19:26:39 +0000 (19:26 +0000)]
Added two tasks:
o Check for GCC version in configure script.
o Rewrite this file without Netscape Composer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7369
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:26:19 +0000 (19:26 +0000)]
Add rationale for the MAP_ANONYMOUS vs. MAP_ANON flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7368
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:21:20 +0000 (19:21 +0000)]
Added comma after `i.e.'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7367
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:19:58 +0000 (19:19 +0000)]
The RTLD_GLOBAL flag allows symbols to be globally accessible, which makes
resolution of symbols in the .so possible (currently assists debugging with
bugpoint).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7366
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:17:53 +0000 (19:17 +0000)]
Lined things up in a more aesthetically pleasing way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7365
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:16:14 +0000 (19:16 +0000)]
BugDriver.h:
* Added method to query if BugDriver is executing the JIT currently.
This provides the ability in adding code that is conditionally executed in
codegen debugging phase.
CodeGeneratorBug.cpp:
* Delete test functions from the Safe module
* Code conditionally added when debugging the JIT:
use the lazy resolver function added to Emitter.cpp to get function pointer
by name. When compiled into an .so, this is the only way to get a pointer to
an external function
* Added a symbol disambiguator which will keep symbols uniquely named across
modules
* Delete generated files by default
* The function `main' *must* stay in the .bc file for the JIT, but that prevents
debugging it alone. This patch makes the old `main' become `old_main' and adds
a new function named `main' which just calls the original with the same
parameters, thereby keeping functionality the same.
ExecutionDriver.cpp:
* Returned to getting unique filenames
* Simplified code choosing between using and not using shared library option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7364
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:09:06 +0000 (19:09 +0000)]
Add ability for external C code to get pointers to functions given their name.
This us used by bugpoint -- when code is compiled to a shared object to be
JITted, it must use the JIT's lazy resolution method to find function addresses,
because some functions will not be available at .so load time, as they are in
the bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7363
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:07:30 +0000 (19:07 +0000)]
Clean up code dealing with RTLD_SELF differences on Sparc and X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7362
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:06:50 +0000 (19:06 +0000)]
Fix reference to architecture.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7361
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 19:06:19 +0000 (19:06 +0000)]
Add in support to load shared objects (-load is provided by Support library).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7360
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 28 Jul 2003 16:53:28 +0000 (16:53 +0000)]
Removed extra parenthesis and fixed spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7359
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Mon, 28 Jul 2003 16:42:33 +0000 (16:42 +0000)]
Need to include <string> to fix compile error on Sun
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 04:25:36 +0000 (04:25 +0000)]
Specify the value type for the register, not just the size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7357
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 04:24:59 +0000 (04:24 +0000)]
Instead of specifying the SIZE of the register, go so far as to specify
what value type it is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 03:49:40 +0000 (03:49 +0000)]
Add support for Set statements without {}'s. Now we can just say
set Foo = bar in
def blah: blahclass {}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Jul 2003 03:39:57 +0000 (03:39 +0000)]
Allow initializing variable initializers with variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Jul 2003 00:28:10 +0000 (00:28 +0000)]
Somehow "simplest" test became a hello world test. Rectify this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:49:58 +0000 (23:49 +0000)]
Rename function to be more consistent with filename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:30:37 +0000 (23:30 +0000)]
Code generation phases are not allowed to modify the LLVM representation.
Because of this, we'll make the MBB->BB mapping const as it should be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:29:51 +0000 (23:29 +0000)]
Making this code const-correct would be a pain, so I'll hack it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:24:56 +0000 (23:24 +0000)]
Const correctness fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:23:41 +0000 (23:23 +0000)]
Be const correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:22:19 +0000 (23:22 +0000)]
Hrm, another necesary one :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:18:11 +0000 (23:18 +0000)]
Whoops, this one was needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:06:00 +0000 (23:06 +0000)]
We don't modify the LLVM rep, remain const correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:05:37 +0000 (23:05 +0000)]
If the pass changes _anything_ it must return true
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:04:00 +0000 (23:04 +0000)]
This code doesn't modify the LLVM structure, keep stuff const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:01:04 +0000 (23:01 +0000)]
Remove #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:00:29 +0000 (23:00 +0000)]
Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 23:00:05 +0000 (23:00 +0000)]
Fix another minor bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 26 Jul 2003 22:56:46 +0000 (22:56 +0000)]
Remove #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 25 Jul 2003 22:26:17 +0000 (22:26 +0000)]
Simplify some makefile magic, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 25 Jul 2003 21:13:16 +0000 (21:13 +0000)]
Add fixmes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7335
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 25 Jul 2003 21:12:15 +0000 (21:12 +0000)]
(1) Major fix to the way unused regs. are marked and found for the FP
Single and FP double reg types (which share the same reg class).
Now all methods marking/finding unused regs consider the regType
within the reg class, and SparcFloatRegClass specializes this code.
(2) Remove machine-specific regalloc. methods that are no longer needed.
In particular, arguments and return value from a call do not need
machine-specific code for allocation.
(3) Rename TargetRegInfo::getRegType variants to avoid unintentional
overloading when an include file is omitted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 25 Jul 2003 21:09:42 +0000 (21:09 +0000)]
This test has been automatized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7333
91177308-0d34-0410-b5e6-
96231b3b80d8