summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add const version of getLiveRangeForValue().Vikram S. Adve2003-07-291-4/+9
| | | | llvm-svn: 7386
* Code to insert caller-saves moved here from SparcRegInfo: it is nowVikram S. Adve2003-07-291-9/+22
| | | | | | | | | 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
* Don't require a BB to look-up live variables, unless they may need toVikram S. Adve2003-07-291-3/+7
| | | | | | be recomputed. llvm-svn: 7384
* Enable JIT when the platform supports it.John Criswell2003-07-295-25/+106
| | | | | | | | 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
* * Correctly emit a far call if the target address does not fit into 30 bitsMisha Brukman2003-07-291-17/+15
| | | | | | | instead of assert()ing * Fixed a nasty bug where '07' was used instead of register 'o7' llvm-svn: 7382
* * Stop hard-coding a value for beginning of emitted code on Sparc since we canMisha Brukman2003-07-291-10/+6
| | | | | | | | 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. llvm-svn: 7381
* * Disambiguate symbols before we start splitting module by functionsMisha Brukman2003-07-291-5/+6
| | | | | | | * Moved DisambiguateGlobalSymbols() out of the ReduceMisCodegenFunctions class * Added an assert to have a cleaner exit if `main' is not found in the module llvm-svn: 7380
* Regression test for incorrect character emitted to char array.Vikram S. Adve2003-07-291-0/+39
| | | | llvm-svn: 7379
* Fix copy and paste-oChris Lattner2003-07-291-1/+1
| | | | llvm-svn: 7378
* Move "register flags" definition the type of registers to be fully fledgedChris Lattner2003-07-292-40/+41
| | | | | | value types llvm-svn: 7377
* Move value type enums to CodeGen/ValueTypes.hChris Lattner2003-07-291-20/+1
| | | | llvm-svn: 7376
* Define target value types in a form usable by target-independent codeChris Lattner2003-07-291-0/+33
| | | | llvm-svn: 7375
* Made many paragraphs fit into 80 characters per line to avoid wrapping in anMisha Brukman2003-07-281-31/+112
| | | | | | editor window. Re-worded confusing description about interdependence of modules. llvm-svn: 7374
* Add support for Alpha intrinsics, contributed by Rahul JoshiChris Lattner2003-07-282-0/+12
| | | | llvm-svn: 7373
* Add alpha intrinsics, contributed by Rahul JoshiChris Lattner2003-07-281-5/+19
| | | | llvm-svn: 7372
* Implemented cleanups as suggested by Chris:Misha Brukman2003-07-281-41/+39
| | | | | | | | | | | | | | | | | | | * 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 llvm-svn: 7371
* Added comment to function isExecutingJIT()Misha Brukman2003-07-281-0/+2
| | | | llvm-svn: 7370
* Added two tasks:John Criswell2003-07-281-164/+194
| | | | | | | o Check for GCC version in configure script. o Rewrite this file without Netscape Composer. llvm-svn: 7369
* Add rationale for the MAP_ANONYMOUS vs. MAP_ANON flags.Misha Brukman2003-07-281-0/+1
| | | | llvm-svn: 7368
* Added comma after `i.e.'Misha Brukman2003-07-281-4/+3
| | | | llvm-svn: 7367
* The RTLD_GLOBAL flag allows symbols to be globally accessible, which makesMisha Brukman2003-07-282-2/+2
| | | | | | | resolution of symbols in the .so possible (currently assists debugging with bugpoint). llvm-svn: 7366
* Lined things up in a more aesthetically pleasing way.Misha Brukman2003-07-281-2/+2
| | | | llvm-svn: 7365
* BugDriver.h:Misha Brukman2003-07-283-43/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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 llvm-svn: 7364
* Add ability for external C code to get pointers to functions given their name.Misha Brukman2003-07-281-3/+15
| | | | | | | | | 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. llvm-svn: 7363
* Clean up code dealing with RTLD_SELF differences on Sparc and X86.Misha Brukman2003-07-281-5/+5
| | | | llvm-svn: 7362
* Fix reference to architecture.Misha Brukman2003-07-281-1/+1
| | | | llvm-svn: 7361
* Add in support to load shared objects (-load is provided by Support library).Misha Brukman2003-07-282-2/+2
| | | | llvm-svn: 7360
* Removed extra parenthesis and fixed spelling.Misha Brukman2003-07-281-2/+2
| | | | llvm-svn: 7359
* Need to include <string> to fix compile error on SunTanya Lattner2003-07-281-0/+1
| | | | llvm-svn: 7358
* Specify the value type for the register, not just the size.Chris Lattner2003-07-281-1/+4
| | | | llvm-svn: 7357
* Instead of specifying the SIZE of the register, go so far as to specifyChris Lattner2003-07-281-1/+16
| | | | | | what value type it is. llvm-svn: 7356
* Add support for Set statements without {}'s. Now we can just sayChris Lattner2003-07-281-7/+14
| | | | | | | set Foo = bar in def blah: blahclass {} llvm-svn: 7355
* Allow initializing variable initializers with variablesChris Lattner2003-07-282-1/+11
| | | | llvm-svn: 7354
* Somehow "simplest" test became a hello world test. Rectify this.Chris Lattner2003-07-272-12/+19
| | | | llvm-svn: 7353
* Rename function to be more consistent with filenameChris Lattner2003-07-263-6/+6
| | | | llvm-svn: 7352
* Code generation phases are not allowed to modify the LLVM representation.Chris Lattner2003-07-261-3/+3
| | | | | | Because of this, we'll make the MBB->BB mapping const as it should be llvm-svn: 7351
* Making this code const-correct would be a pain, so I'll hack it.Chris Lattner2003-07-262-5/+6
| | | | llvm-svn: 7350
* Const correctness fixesChris Lattner2003-07-262-3/+3
| | | | llvm-svn: 7349
* Be const correctChris Lattner2003-07-261-2/+2
| | | | llvm-svn: 7348
* Hrm, another necesary one :(Chris Lattner2003-07-261-0/+1
| | | | llvm-svn: 7347
* Whoops, this one was neededChris Lattner2003-07-261-0/+1
| | | | llvm-svn: 7346
* We don't modify the LLVM rep, remain const correctChris Lattner2003-07-261-2/+2
| | | | llvm-svn: 7345
* If the pass changes _anything_ it must return trueChris Lattner2003-07-261-1/+2
| | | | llvm-svn: 7344
* This code doesn't modify the LLVM structure, keep stuff constChris Lattner2003-07-263-6/+6
| | | | llvm-svn: 7343
* Remove #includeChris Lattner2003-07-261-1/+0
| | | | llvm-svn: 7342
* Remove extraneous #includesChris Lattner2003-07-263-3/+1
| | | | llvm-svn: 7341
* Fix another minor bugChris Lattner2003-07-261-2/+2
| | | | llvm-svn: 7340
* Remove #includesChris Lattner2003-07-262-2/+0
| | | | llvm-svn: 7339
* Simplify some makefile magic, no functional changesChris Lattner2003-07-251-11/+8
| | | | llvm-svn: 7336
* Add fixmesChris Lattner2003-07-252-0/+4
| | | | llvm-svn: 7335
OpenPOWER on IntegriCloud