aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Fix ABI issue: Longs really do need to be only 4 byte aligned on X86.Chris Lattner2003-08-171-1/+2
| | | | | | | | | This bug caused miscompilation of programs using 'struct stat', but only if compiled with support for 64-bit filesystems. This could in theory effect other things, but only if the LLVM code shared data structures with native code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7928 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename -emitmaps to -enable-mapsBrian Gaeke2003-08-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7913 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that the JIT memory manager allocates as many bytes as necessary rather thanMisha Brukman2003-08-151-1/+2
| | | | | | | | rounding up to a page, we need to request (num instrs * 4) bytes. However, I think that 64 bytes is overkill for the stub function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7888 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix register and parameter numbers in saving double FP registers.Misha Brukman2003-08-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7884 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove uses of the NonCopyable class, to make the doxygen output look betterChris Lattner2003-08-151-9/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7880 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to new API, add expandCall stubChris Lattner2003-08-152-20/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7873 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for unconditional branches and for emitting JE instructionsChris Lattner2003-08-151-3/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7872 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bunch of new node types, including a new Void dummy register classChris Lattner2003-08-151-1/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7870 91177308-0d34-0410-b5e6-96231b3b80d8
* * Must save FP registers when calling CompilationCallback(), because FPMisha Brukman2003-08-151-24/+168
| | | | | | | | | registers are global, are NOT windowed, and hence can be clobbered! * Removed unused register shorthand notations * Fixed and cleaned up comments in inline assembly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7853 91177308-0d34-0410-b5e6-96231b3b80d8
* Improvement to the previous fix: branch following a delay slot ofVikram S. Adve2003-08-141-3/+5
| | | | | | | | another delayed instr. would cause the later sanity-check (assertion) in PhyRegAlloc.cpp to fail, even though there is really no error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7848 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop annoying warnings about mismatched types with the argument of a freeChris Lattner2003-08-142-16/+48
| | | | | | | implement more constant expressions so that 176.gcc compiles with the CBE git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7847 91177308-0d34-0410-b5e6-96231b3b80d8
* Since we now have TableGen editing modes for VIM and (X)Emacs, we no longer needMisha Brukman2003-08-145-10/+10
| | | | | | | to mark TableGen description files with "C++ mode". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7841 91177308-0d34-0410-b5e6-96231b3b80d8
* Restore 'nice name' to passChris Lattner2003-08-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7840 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for function passes now return type FunctionPass *.Brian Gaeke2003-08-143-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7839 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak SPARC backend: addPassesToJITCompile andBrian Gaeke2003-08-142-2/+2
| | | | | | | addPassesToEmitMachineCode now both take a FunctionPassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7837 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for function passes now return type FunctionPass *.Brian Gaeke2003-08-142-12/+3
| | | | | | | Get rid of RegisterLLC, which can't handle FunctionPasses anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7836 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak SPARC backend: addPassesToJITCompile andBrian Gaeke2003-08-141-3/+3
| | | | | | | | addPassesToEmitMachineCode now both take a FunctionPassManager. Factory methods for function passes now return type FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7835 91177308-0d34-0410-b5e6-96231b3b80d8
* X86 static backend: smackedBrian Gaeke2003-08-131-6/+2
| | | | | | | | | Function at a time: smacked Who you gonna call!!! :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7826 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke2003-08-138-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
* addPassesToJITCompile and addPassesToEmitMachineCode now take aBrian Gaeke2003-08-132-4/+5
| | | | | | | | FunctionPassManager, to support function-at-a-time compilation and emission of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7821 91177308-0d34-0410-b5e6-96231b3b80d8
* addPassesToJITCompile now takes a FunctionPassManager, to supportBrian Gaeke2003-08-131-2/+39
| | | | | | | | | | function-at-a-time compilation and emission of code. Separate addPassesToEmitAssembly from addPassesToJITCompile, because the latter requires you to use FunctionPasses, and the former might diverge anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7817 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke2003-08-131-10/+10
| | | | | | | Correct one of the functions' comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7816 91177308-0d34-0410-b5e6-96231b3b80d8
* Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke2003-08-132-14/+8
| | | | | | | | Revert (to v1.55) one of the hunks of Chris's change that messed up the %-register workaround. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7815 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust files for move of mapping info stuff into the Sparc directoryChris Lattner2003-08-135-19/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7802 91177308-0d34-0410-b5e6-96231b3b80d8
* Just incorporating some notes I wrote for myself into a place where they won'tBrian Gaeke2003-08-131-0/+14
| | | | | | | get lost... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7798 91177308-0d34-0410-b5e6-96231b3b80d8
* For instructions in a delay slot of another instruction,Vikram S. Adve2003-08-121-12/+16
| | | | | | | | | we no longer need to find the live-before set of the delayed branch since that set is now included the live-before/after set of the instructions in each delay slot. Just assert that instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7796 91177308-0d34-0410-b5e6-96231b3b80d8
* For an instruction with delay slots, mark all live values beforeVikram S. Adve2003-08-122-16/+42
| | | | | | | | the instruction as being live before/after the delay slot instructions as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7795 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable emitting LLVM-to-MI maps, by default.Vikram S. Adve2003-08-121-9/+15
| | | | | | | Add -emitmaps options to turn this back on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7774 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename DNVT_bool to DNVT_i1 to be consistent with type systemChris Lattner2003-08-121-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7768 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for basicblocks, setCC instructions, and branchesChris Lattner2003-08-121-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7767 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix va_arg to generate LDDFi for floating point values, instead of LDXi.Vikram S. Adve2003-08-121-2/+4
| | | | | | | All non-FP cases use LDXi as before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7765 91177308-0d34-0410-b5e6-96231b3b80d8
* Add basic support for 16 and 32 bit function arguments!Chris Lattner2003-08-111-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7755 91177308-0d34-0410-b5e6-96231b3b80d8
* add frameidx supportChris Lattner2003-08-111-15/+16
| | | | | | | | Make load work Make type inference infer from Arg1 to arg0 as well as from arg0 to arg1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7754 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort #includes, eliminate #include of "llvm/Type.h" which was redundantChris Lattner2003-08-112-8/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7746 91177308-0d34-0410-b5e6-96231b3b80d8
* Cygwin apparently works with %'s on registers!Chris Lattner2003-08-112-10/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7745 91177308-0d34-0410-b5e6-96231b3b80d8
* Whoops, accidental checkin. :(Chris Lattner2003-08-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7743 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new -enable-cygwin-compatible-output argument, which make the output moreChris Lattner2003-08-113-39/+59
| | | | | | | | consumably by the cygwin assembler. This is really just a nasty hack until we get real target triple support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7742 91177308-0d34-0410-b5e6-96231b3b80d8
* Print % signs before register names; turn off "noprefix" mode in gas output.Brian Gaeke2003-08-112-32/+62
| | | | | | | | | | Fixes test case test/Programs/LLVMSource/2003-08-03-ReservedWordGlobal.ll. Also: Refactor implicit-uses printing into its own method. Remove a couple of unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7737 91177308-0d34-0410-b5e6-96231b3b80d8
* Register argument to va_start must be marked as defined!Vikram S. Adve2003-08-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7734 91177308-0d34-0410-b5e6-96231b3b80d8
* Add (ret int) expander so that we can at least write testcasesChris Lattner2003-08-111-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7730 91177308-0d34-0410-b5e6-96231b3b80d8
* Converted tabs to spaces.Misha Brukman2003-08-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7728 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed `-debug' so that spurious printouts of patterns are not seen atMisha Brukman2003-08-111-1/+1
| | | | | | | compilation time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7727 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead codeChris Lattner2003-08-111-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7726 91177308-0d34-0410-b5e6-96231b3b80d8
* Add patterns for multiply, and, or, and xorChris Lattner2003-08-111-22/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7725 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for more nodesChris Lattner2003-08-111-5/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7724 91177308-0d34-0410-b5e6-96231b3b80d8
* Until the pattern matching instruction selector is finished, enable debug ↵Chris Lattner2003-08-111-1/+1
| | | | | | output from it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7722 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for a pattern matching instruction selector. This is still inChris Lattner2003-08-115-12/+260
| | | | | | | the early implementation phases, so it is disabled by default git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7719 91177308-0d34-0410-b5e6-96231b3b80d8
* Make imm be a leaf instead of a nonterminalChris Lattner2003-08-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7708 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement LLVM intrinsics `llvm.setjmp' and `llvm.longjmp' as follows:Misha Brukman2003-08-071-4/+18
| | | | | | | | * setjmp() simply returns 0 * longjmp() simply calls abort() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7676 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix sanity-checking in 'maskUnsigned' code to be more precise:Vikram S. Adve2003-08-071-2/+12
| | | | | | | | use or def-and-use operands can be substituted after one def-only operand has been substituted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7674 91177308-0d34-0410-b5e6-96231b3b80d8