Chris Lattner [Fri, 1 Aug 2003 19:16:29 +0000 (19:16 +0000)]
Move #include from a header to here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 19:16:18 +0000 (19:16 +0000)]
This file doesn't need this include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 16:14:33 +0000 (16:14 +0000)]
Don't emit modules with lots of cruft hanging off of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 16:13:49 +0000 (16:13 +0000)]
Parameterize the performFinalCleanups a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7477
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 1 Aug 2003 15:55:53 +0000 (15:55 +0000)]
Add all arithmetic operators to ConstantExprToString().
Note that some generated operators (like &, | or ^) may
not be supported by the assembler -- but if they've got
this far, it's better to generate them and let the assembler decide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7476
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 1 Aug 2003 15:54:38 +0000 (15:54 +0000)]
*Both* operands of divide need sign-extension before divide (if smaller
than machine register size), not just the second operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7475
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 1 Aug 2003 15:53:24 +0000 (15:53 +0000)]
Put back the separate pass to decompose multi-dimensional references
since it is *necessary* for correct code generation. Only optional
transformations belong in the PreOpts pass (which needs to be renamed
from PreSelection to PreOpts).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7474
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 06:27:59 +0000 (06:27 +0000)]
add support for emitting register classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7473
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 06:15:10 +0000 (06:15 +0000)]
Add new getValueAsListInit and getValueAsInt methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7472
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 05:59:20 +0000 (05:59 +0000)]
Add the ability to emit register file enums
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7471
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 05:58:58 +0000 (05:58 +0000)]
Fix the way field bit references are resolved, also allow resolution of field references overall!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 05:18:03 +0000 (05:18 +0000)]
encode size information into each ValueType
Add new RegisterInfo class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:47:20 +0000 (04:47 +0000)]
Dead code elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7468
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:46:24 +0000 (04:46 +0000)]
Add new getValueAsBitsInit 'high-level' method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:39:05 +0000 (04:39 +0000)]
Add file comment
Add register info emitter
Simplify code by using "high-level" methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7466
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:38:38 +0000 (04:38 +0000)]
Initial checkin of register info emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7465
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:38:18 +0000 (04:38 +0000)]
Simplify code to match new interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7464
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:37:57 +0000 (04:37 +0000)]
Switch over to an exception handling model for "high-level" requests.
Add new getValueAsString method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7463
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:15:25 +0000 (04:15 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7462
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 04:09:58 +0000 (04:09 +0000)]
Factor code out into a new getAllDerivedDefinitions method, which is generally useful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7461
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 1 Aug 2003 03:48:42 +0000 (03:48 +0000)]
This method is long dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7460
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 31 Jul 2003 20:59:32 +0000 (20:59 +0000)]
Removed the -only-static option as it is no longer required (and didn't work
with the newer version of libtool anyway).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7459
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 31 Jul 2003 20:58:51 +0000 (20:58 +0000)]
Modified the use of libtool so that we don't compile every file twice.
This can be done using the disable-shared tag that comes with libtool.
This change also required changing how .o libraries are linked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 19:38:34 +0000 (19:38 +0000)]
Fix the JIT in the Nightly tester. This was not a fun bug to track down.
See the comments in the patch for details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 19:31:21 +0000 (19:31 +0000)]
Trivial cleanups: no need to include header twice. Global variable is local to file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7456
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 17:56:05 +0000 (17:56 +0000)]
Remove more obsolete comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7455
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 31 Jul 2003 17:50:35 +0000 (17:50 +0000)]
Changed pointer to the JIT code to its current location, under LLI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7454
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 17:47:24 +0000 (17:47 +0000)]
Unbreak the CBE output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7453
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 31 Jul 2003 17:38:52 +0000 (17:38 +0000)]
I think local symbols in X86 GAS have to start with .L, not just
.; so I have changed the basic block markers to start with .L. I also
broke up a >80char line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7452
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 31 Jul 2003 16:45:37 +0000 (16:45 +0000)]
Changed the default location of OBJ_ROOT to follow these rules:
1. If USER is defined and localhome/$USER is a directory, set OBJ_ROOT
to /localhome/$USER
2. Otherwise, set OBJ_ROOT to .
This should hopefully fix the nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7451
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 16:05:11 +0000 (16:05 +0000)]
Forget about KEEP_SYMBOLS, make sure to build into the temp directory, not into localhome
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7450
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 31 Jul 2003 15:11:08 +0000 (15:11 +0000)]
Modified the code so that it generates (0) for setjmp() and abort() for
longjmp() (and does not include setjmp.h).
This is to fix some problems on Sparc while non-local jumps are still
unimplemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7449
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 31 Jul 2003 05:08:02 +0000 (05:08 +0000)]
Renamed trapping instruction function to be more consistent with other functions in the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7448
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 31 Jul 2003 05:06:09 +0000 (05:06 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7447
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 04:43:49 +0000 (04:43 +0000)]
More minor cleanups of the interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7446
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 04:38:26 +0000 (04:38 +0000)]
Rename createEmitter to run because eventually all tablegen backends will
be subclasses of a common interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 04:37:57 +0000 (04:37 +0000)]
Add file comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 31 Jul 2003 04:32:37 +0000 (04:32 +0000)]
Tighten up interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7443
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Thu, 31 Jul 2003 04:05:50 +0000 (04:05 +0000)]
Added function to determine if an Instruction may trap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 30 Jul 2003 22:16:41 +0000 (22:16 +0000)]
Add comments
Make the register classes optionally take code fragments for allocation_order_*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7441
91177308-0d34-0410-b5e6-
96231b3b80d8
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