aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86
AgeCommit message (Collapse)Author
2003-10-17Add prototype for replaceMachineCodeForFunction().Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9202 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16Fix typo in comment.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16Add support for 'weak' linkage.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15Decrease usage of use_size()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9135 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14Output a contorted sequence of instructions to make sure that we don't accessChris Lattner
off the bottom of the stack. This fixes PR#41 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9114 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14Disable the leaf function optimization, which is apparently not legal onChris Lattner
X86/linux. :( The problem is that a signal delivered while the function is executing could clobber the functions stack. This is a partial fix for PR41. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9113 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10Fix spelling.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06Add # of printed instructions statistic to both the SPARC and X86 LLC backends.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8892 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05Instead of hacking in custom support for Invoke/Unwind, use the LowerInvoke passChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8871 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-02Moved enum and command-line option in separate file. Also added function ↵Alkis Evlogimenos
that returns the user selected register allocator to the caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8819 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-02Change llc command line for register allocatorsAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8815 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-01Revert previous change. For some reason this went into the main branchAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8805 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-01Added command line option for linear scan allocatorAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8804 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10Be a little more specific about what is begin generated. Only printChris Lattner
command line if VERBOSE=1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10Only emit inter-field-padding if the amount of padding is != 0Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8452 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-09Updated to find source files using VPATH. This makes writing build rulesJohn Criswell
much cleaner and easier. Labeled .td as a suffix for tblgen files in Makefile.rules. Modified build rules so that source files generated during the build are placed in the build directory and not the source directory (and not in a Debug directory). This makes the system cleaner and allows us to have a read-only source tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-09* Simplify printConstantValueOnly by moving the tail padding stuff directlyChris Lattner
into the struct case. * Extend printConstantValueOnly to print .zero's if the initializer is zero * Delete dead isConstantFunctionPointerRef function * Emit the appropriate assembly for the various linkage types! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8417 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08Eliminate support for the llvm.unwind intrinisic, using the Unwind ↵Chris Lattner
instruction instead git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08Add support for the unwind instructionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-06Checkin of autoconf-style object root.John Criswell
Adjusted Makefile to work with new autoconf-style object root. Specifically, use the new -I option of tblgen to find include files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8379 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01OptInfo is no longer requiredChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28Add support for the llvm.unwind intrinsic, which we codegen to just do an abortChris Lattner
until we implement unwinding. Add support for the invoke instruction, which codegens just like a call with a branch after it. The end effect of this change is that programs using the invoke instruction, but never unwinding, will work fine. Programs that unwind will abort until we get unwind support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24Targets should configure themselves based on a Module, not some wierd flagsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8132 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24Implement: Jello/test-constantexpr.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8127 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21Change all #include'd files to be :: rules instead of : rulesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8019 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18Add support for the sig(set|long)jmp intrinsicsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7951 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18Spell `necessary' correctly.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-17Fix ABI issue: Longs really do need to be only 4 byte aligned on X86.Chris Lattner
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
2003-08-15Adjust to new API, add expandCall stubChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7873 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15Add support for unconditional branches and for emitting JE instructionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7872 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13X86 static backend: smackedBrian Gaeke
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
2003-08-13Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13addPassesToJITCompile and addPassesToEmitMachineCode now take aBrian Gaeke
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
2003-08-13addPassesToJITCompile now takes a FunctionPassManager, to supportBrian Gaeke
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
2003-08-13Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke
Correct one of the functions' comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7816 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13Factory methods for FunctionPasses now return type FunctionPass *.Brian Gaeke
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
2003-08-13Just incorporating some notes I wrote for myself into a place where they won'tBrian Gaeke
get lost... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7798 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Add basic support for 16 and 32 bit function arguments!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Sort #includes, eliminate #include of "llvm/Type.h" which was redundantChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7746 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Cygwin apparently works with %'s on registers!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Whoops, accidental checkin. :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Add a new -enable-cygwin-compatible-output argument, which make the output moreChris Lattner
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
2003-08-11Print % signs before register names; turn off "noprefix" mode in gas output.Brian Gaeke
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
2003-08-11Add (ret int) expander so that we can at least write testcasesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7730 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Converted tabs to spaces.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Removed `-debug' so that spurious printouts of patterns are not seen atMisha Brukman
compilation time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7727 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Add patterns for multiply, and, or, and xorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7725 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Until the pattern matching instruction selector is finished, enable debug ↵Chris Lattner
output from it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7722 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11Add support for a pattern matching instruction selector. This is still inChris Lattner
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
2003-08-07This register is never used, disable it.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7661 91177308-0d34-0410-b5e6-96231b3b80d8