Misha Brukman
7d9632896d
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
...
llvm-svn: 7438
2003-07-30 21:45:20 +00:00
Chris Lattner
a979d4dd27
We no longer need to preprocess SparcV9.td before sending it through tablegen
...
llvm-svn: 7437
2003-07-30 21:00:37 +00:00
Chris Lattner
06fd68f31d
Move err() to the lexer, implement file inclusion capabilities directly in tblgen
...
llvm-svn: 7436
2003-07-30 20:56:47 +00:00
Chris Lattner
4290a933d8
Add test of file inclusion capability for bugpoint
...
llvm-svn: 7435
2003-07-30 20:55:37 +00:00
Misha Brukman
87154fdbc0
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
llvm-svn: 7434
2003-07-30 20:15:56 +00:00
Misha Brukman
40feb36ffd
* 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*>)
llvm-svn: 7433
2003-07-30 20:15:44 +00:00
Chris Lattner
b2b694bbef
Minor reorganization, move ParseFile to the lexer
...
llvm-svn: 7432
2003-07-30 19:55:10 +00:00
Chris Lattner
1bf13179c2
Make tablegen take an input filename to parse if one is specified, otherwise
...
use stdin.
llvm-svn: 7431
2003-07-30 19:48:02 +00:00
Chris Lattner
40ae76ec8e
Initial tests for tblgen
...
llvm-svn: 7430
2003-07-30 19:40:00 +00:00
Chris Lattner
af282ae26e
Directly support C style comments in tblgen, but allow them to actually nest
...
llvm-svn: 7429
2003-07-30 19:39:36 +00:00
Chris Lattner
3a5c2826d5
Fix a bug that brian reported
...
llvm-svn: 7428
2003-07-30 19:04:37 +00:00
Misha Brukman
f9010058d2
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
...
llvm-svn: 7427
2003-07-30 17:59:23 +00:00
Misha Brukman
6cb2c57354
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.
llvm-svn: 7423
2003-07-30 17:44:15 +00:00
Chris Lattner
c65effdd23
Add variable to capture arguments that should be passed to the user program
...
This is unused so far.
llvm-svn: 7422
2003-07-30 17:36:07 +00:00
Chris Lattner
2da046f055
Add support for "named positional arguments"
...
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Misha Brukman
4b628c5aa1
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...
llvm-svn: 7419
2003-07-30 15:29:55 +00:00
Vikram S. Adve
4f6b98900c
When emitting a constant, check for ConstantExpr before
...
ordinary (primitive) types since ConstantExprs may be of primitive type!
llvm-svn: 7418
2003-07-30 12:54:47 +00:00
Vikram S. Adve
2786ece7fb
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.
llvm-svn: 7417
2003-07-30 12:49:25 +00:00
Chris Lattner
33a3edad1b
Conform to the new interface for describing target registers... even though
...
it's currently not used.
llvm-svn: 7416
2003-07-30 05:51:34 +00:00
Chris Lattner
e45b699cf6
Add all of the necessary classes to describe the contents of the MRegister.h implementation
...
for a target.
llvm-svn: 7415
2003-07-30 05:50:12 +00:00
Chris Lattner
3f368e3432
Only regenerate the .inc file if IT has changed, not just if the .td files
...
have changed.
llvm-svn: 7414
2003-07-30 05:49:17 +00:00
Chris Lattner
ea6aac412d
Use target specific interface instead of forcing it to be target-generic
...
llvm-svn: 7413
2003-07-30 05:33:48 +00:00
Chris Lattner
a8f5df593b
Code generation passes don't need access to raw LLVM types, this method is unnecessary.
...
llvm-svn: 7412
2003-07-30 05:29:45 +00:00
Chris Lattner
1de61e04fb
Fix coredump for when an ID is used illegally outside a record
...
llvm-svn: 7411
2003-07-30 05:17:35 +00:00
Chris Lattner
03eeeb7e02
Don't pollute the namespace with template arguments after they have been resolved
...
llvm-svn: 7410
2003-07-30 04:56:05 +00:00
Chris Lattner
c9dee67ab6
Implement TODO: disallow 'def's with template arguments.
...
llvm-svn: 7409
2003-07-30 04:31:17 +00:00
Chris Lattner
1b145a54cb
Allow specification of anonymous definitions
...
llvm-svn: 7408
2003-07-30 04:26:44 +00:00
Chris Lattner
40004be9db
Allow passing lists through variables
...
llvm-svn: 7407
2003-07-30 04:16:52 +00:00
Chris Lattner
db68105987
Implement resolution of variables to the value of the variable once it gets a value
...
llvm-svn: 7406
2003-07-30 04:05:07 +00:00
Chris Lattner
8418e36143
No this file is not actually Sparc.td :)
...
llvm-svn: 7405
2003-07-29 23:07:13 +00:00
Chris Lattner
4f94bedfa6
Do not use 'cpp' directly
...
llvm-svn: 7404
2003-07-29 23:04:41 +00:00
Chris Lattner
6a561beb35
Add namespace specifier, add flags used by the X86 BE
...
llvm-svn: 7403
2003-07-29 23:02:49 +00:00
Chris Lattner
590fd82e42
Don't crash if there is no Inst class in the tablegen file!
...
llvm-svn: 7402
2003-07-29 23:00:08 +00:00
Misha Brukman
0f918540b6
* Cleaned up and corrected comments wrt instruction formats
...
* Enabled STXFSR instructions
llvm-svn: 7400
2003-07-29 21:21:20 +00:00
Misha Brukman
fb8f64a590
Make emitFarCall() public, and add a few comments to functions.
...
llvm-svn: 7399
2003-07-29 20:52:56 +00:00
Vikram S. Adve
f128c11bdd
Unify all constant evaluations that depend on register size
...
in TargetInstrInfo::ConvertConstantToIntType.
llvm-svn: 7398
2003-07-29 20:30:20 +00:00
Vikram S. Adve
f8049f93c2
Bug fix: after reallocating the hash table, we have to re-insert each value
...
instead of copying table entries!
llvm-svn: 7396
2003-07-29 20:01:01 +00:00
Vikram S. Adve
e895c2e241
Unify all constant evaluations that depend on register size
...
in ConvertConstantToIntType.
llvm-svn: 7395
2003-07-29 19:59:23 +00:00
Vikram S. Adve
2b630b4ec2
Rename 'dump-asm' to 'dump-input' and really print it just before code-gen.
...
llvm-svn: 7394
2003-07-29 19:58:00 +00:00
Vikram S. Adve
dbc0eb6a2d
Bug fix: don't unnecessarily pretty-print control-characters, some of
...
which were wrong (particularly, '\a' for '\007').
llvm-svn: 7393
2003-07-29 19:57:34 +00:00
Vikram S. Adve
648ce40adf
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.
llvm-svn: 7392
2003-07-29 19:54:41 +00:00
Vikram S. Adve
2353584afc
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.
llvm-svn: 7391
2003-07-29 19:53:21 +00:00
Vikram S. Adve
9143f1962e
All constant-evaluation code now unified into
...
TargetInstrInfo::ConvertConstantToIntType().
llvm-svn: 7390
2003-07-29 19:50:12 +00:00
Vikram S. Adve
c9cb319bcb
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.
llvm-svn: 7389
2003-07-29 19:49:21 +00:00
Vikram S. Adve
09091ee782
Don't require a BB to look-up live variables, unless they may need to
...
be recomputed.
llvm-svn: 7388
2003-07-29 19:42:32 +00:00
Vikram S. Adve
fa31c92f8e
Moved insertCallerSavingCode() to PhyRegAlloc and
...
moved isRegVolatile and modifiedByCall here: they are all
machine independent. Remove all uses of PhyRegAlloc.
llvm-svn: 7387
2003-07-29 19:41:23 +00:00
Vikram S. Adve
e2ef34a818
Add const version of getLiveRangeForValue().
...
llvm-svn: 7386
2003-07-29 19:38:22 +00:00
Vikram S. Adve
91e75d87d2
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).
llvm-svn: 7385
2003-07-29 19:37:41 +00:00
Vikram S. Adve
44119ac56e
Don't require a BB to look-up live variables, unless they may need to
...
be recomputed.
llvm-svn: 7384
2003-07-29 19:32:04 +00:00
John Criswell
4f37692a80
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.
llvm-svn: 7383
2003-07-29 19:11:58 +00:00