oota-llvm.git
19 years agoAdded a note about how the type can be omitted in call instructions.
John Criswell [Mon, 16 May 2005 16:17:45 +0000 (16:17 +0000)]
Added a note about how the type can be omitted in call instructions.
Added a note about how getelementptr can be used to index into structures
or arrays.
Fixed some typos, spelling, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22083 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix a typo duraid noticed
Chris Lattner [Mon, 16 May 2005 15:37:19 +0000 (15:37 +0000)]
fix a typo duraid noticed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22082 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agocomment the hpux bit
Duraid Madina [Mon, 16 May 2005 06:59:53 +0000 (06:59 +0000)]
comment the hpux bit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22081 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agomore edits
Chris Lattner [Mon, 16 May 2005 06:58:39 +0000 (06:58 +0000)]
more edits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22080 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoHP-UX system headers make a mess of isinf(), so much so that gcc fixincludes
Duraid Madina [Mon, 16 May 2005 06:45:57 +0000 (06:45 +0000)]
HP-UX system headers make a mess of isinf(), so much so that gcc fixincludes
can't patch it up for c++ (works in C though)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22079 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agohp-ux needs this to get through the System/Support libs
Duraid Madina [Mon, 16 May 2005 06:38:09 +0000 (06:38 +0000)]
hp-ux needs this to get through the System/Support libs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22078 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agodetect HP-UX when configuring
Duraid Madina [Mon, 16 May 2005 05:39:00 +0000 (05:39 +0000)]
detect HP-UX when configuring

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22077 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoremove deprecated methods
Chris Lattner [Mon, 16 May 2005 01:49:23 +0000 (01:49 +0000)]
remove deprecated methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22076 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoGCC4 + IA64 = badnews
Chris Lattner [Sun, 15 May 2005 22:26:45 +0000 (22:26 +0000)]
GCC4 + IA64 = badnews

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22075 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove the check for the ffsll function. Its no longer needed by the
Reid Spencer [Sun, 15 May 2005 22:15:11 +0000 (22:15 +0000)]
Remove the check for the ffsll function. Its no longer needed by the
simplify-libcalls pass (pass now computes it without a call to ffsll).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22074 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove statement
Chris Lattner [Sun, 15 May 2005 21:38:32 +0000 (21:38 +0000)]
Improve statement

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22073 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't eliminate a test case, just the form of the test case, from the
Reid Spencer [Sun, 15 May 2005 21:35:26 +0000 (21:35 +0000)]
Don't eliminate a test case, just the form of the test case, from the
previous revision.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22072 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThis does not belong
Chris Lattner [Sun, 15 May 2005 21:31:36 +0000 (21:31 +0000)]
This does not belong

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22071 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't look for __builtin_ffs, we'll never see it from llvm-gcc and there's
Reid Spencer [Sun, 15 May 2005 21:27:34 +0000 (21:27 +0000)]
Don't look for __builtin_ffs, we'll never see it from llvm-gcc and there's
not reason to include it for other front ends.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22070 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a case with non-constant argument for testing the transform:
Reid Spencer [Sun, 15 May 2005 21:26:59 +0000 (21:26 +0000)]
Add a case with non-constant argument for testing the transform:
ffs(x) -> (x == 0 ? 0 : llvm.cttz(0)+1)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22069 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoProvide this optimization as well:
Reid Spencer [Sun, 15 May 2005 21:19:45 +0000 (21:19 +0000)]
Provide this optimization as well:
ffs(x) -> (x == 0 ? 0 : 1+llvm.cttz(x))

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22068 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPPC "branch and link" instructions are branches in the PPC sense, but not
Chris Lattner [Sun, 15 May 2005 20:11:44 +0000 (20:11 +0000)]
PPC "branch and link" instructions are branches in the PPC sense, but not
in the LLVM code generator sense (they are calls).  Don't mark them as such,
which fixes the regressions on the ppc tester last night

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22065 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix andrews changes to fit in 80 columns
Chris Lattner [Sun, 15 May 2005 19:54:37 +0000 (19:54 +0000)]
Fix andrews changes to fit in 80 columns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22064 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoctlz = most signficant bits, cttz = least sig
Chris Lattner [Sun, 15 May 2005 19:39:26 +0000 (19:39 +0000)]
ctlz = most signficant bits, cttz = least sig

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22061 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix warning
Chris Lattner [Sun, 15 May 2005 17:25:14 +0000 (17:25 +0000)]
fix warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22060 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix compiler warning
Chris Lattner [Sun, 15 May 2005 17:23:19 +0000 (17:23 +0000)]
fix compiler warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22059 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDuh .. you actually have to #include Config/config.h before you can test
Reid Spencer [Sun, 15 May 2005 17:20:47 +0000 (17:20 +0000)]
Duh .. you actually have to #include Config/config.h before you can test
for one of the values that it defines!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22058 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSome cleanups for compilation with GCC 4.0.0 to remove warnings:
Reid Spencer [Sun, 15 May 2005 16:13:11 +0000 (16:13 +0000)]
Some cleanups for compilation with GCC 4.0.0 to remove warnings:
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd a sparcv8 section, make this validate
Chris Lattner [Sun, 15 May 2005 16:01:20 +0000 (16:01 +0000)]
add a sparcv8 section, make this validate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22056 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agomore edits, add anchors
Chris Lattner [Sun, 15 May 2005 15:33:21 +0000 (15:33 +0000)]
more edits, add anchors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22055 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agomake angry compilers happy again
Duraid Madina [Sun, 15 May 2005 14:44:13 +0000 (14:44 +0000)]
make angry compilers happy again

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22054 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoaCC and STLport complained about this, because they're like that
Duraid Madina [Sun, 15 May 2005 13:05:48 +0000 (13:05 +0000)]
aCC and STLport complained about this, because they're like that

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22053 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoedits to the simplify-libcalls element, move it higher in the list.
Chris Lattner [Sun, 15 May 2005 06:09:55 +0000 (06:09 +0000)]
edits to the simplify-libcalls element, move it higher in the list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22052 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd generated code
Chris Lattner [Sun, 15 May 2005 06:07:40 +0000 (06:07 +0000)]
add generated code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22051 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agodon't reserve space for tailcall arg areas. It explicitly managed.
Chris Lattner [Sun, 15 May 2005 06:07:10 +0000 (06:07 +0000)]
don't reserve space for tailcall arg areas.  It explicitly managed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22050 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake note of the -simplify-libcalls pass.
Reid Spencer [Sun, 15 May 2005 06:05:11 +0000 (06:05 +0000)]
Make note of the -simplify-libcalls pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22049 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd test to check for tail calls
Chris Lattner [Sun, 15 May 2005 05:52:51 +0000 (05:52 +0000)]
add test to check for tail calls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22048 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTeach reginfo how to deal with ADJSTACKPTRri, allowing us to generate:
Chris Lattner [Sun, 15 May 2005 05:49:58 +0000 (05:49 +0000)]
Teach reginfo how to deal with ADJSTACKPTRri, allowing us to generate:
        add %ESP, 20
        jmp %EDX  # TAIL CALL

instead of:
        add %ESP, -8
        add %ESP, 28
        jmp %EDX  # TAIL CALL

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22047 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement proper tail calls in the X86 backend for all fastcc->fastcc
Chris Lattner [Sun, 15 May 2005 05:46:45 +0000 (05:46 +0000)]
Implement proper tail calls in the X86 backend for all fastcc->fastcc
tail calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22046 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSubstantial edits for the release notes.
Chris Lattner [Sun, 15 May 2005 05:44:51 +0000 (05:44 +0000)]
Substantial edits for the release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22045 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd some simplifications for MULH[SU]. This allows us to compile this:
Chris Lattner [Sun, 15 May 2005 05:39:08 +0000 (05:39 +0000)]
Add some simplifications for MULH[SU].  This allows us to compile this:

long %bar(long %X) {
  %Y = mul long %X, 4294967297
  ret long %Y
}

to this:

l1_bar:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EDX, %EAX
        add %EDX, DWORD PTR [%ESP + 8]
        ret

instead of:

l1_bar:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EDX, 1
        mov %EAX, %ECX
        mul %EDX
        add %EDX, %ECX
        add %EDX, DWORD PTR [%ESP + 8]
        mov %EAX, %ECX
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22044 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd markers in the asm file for tail calls, add a new ADJSTACKPTRri
Chris Lattner [Sun, 15 May 2005 03:10:37 +0000 (03:10 +0000)]
Add markers in the asm file for tail calls, add a new ADJSTACKPTRri
sorta-pseudo-instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22042 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoWhen inserting callee-save register reloads, make sure to skip over any
Chris Lattner [Sun, 15 May 2005 03:09:58 +0000 (03:09 +0000)]
When inserting callee-save register reloads, make sure to skip over any
terminator instructions before the 'ret' in case the target has a
multi-instruction return sequence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22041 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoYes, calltarget is the operand of the day.
Chris Lattner [Sun, 15 May 2005 01:10:30 +0000 (01:10 +0000)]
Yes, calltarget is the operand of the day.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22040 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake sure this is not eligible for tail-call-elimination so that we test
Chris Lattner [Sat, 14 May 2005 23:54:55 +0000 (23:54 +0000)]
Make sure this is not eligible for tail-call-elimination so that we test
the correct thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22039 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoWhen emitting the function epilog, check to see if there already a stack
Chris Lattner [Sat, 14 May 2005 23:53:43 +0000 (23:53 +0000)]
When emitting the function epilog, check to see if there already a stack
adjustment.  If so, we merge the adjustment into the existing one.  This
allows us to generate:

caller2:
        sub %ESP, 12
        mov DWORD PTR [%ESP], 0
        mov %EAX, 1234567890
        mov %EDX, 0
        call func2
        add %ESP, 8
        ret 4

intead of:

caller2:
        sub %ESP, 12
        mov DWORD PTR [%ESP], 0
        mov %EAX, 1234567890
        mov %EDX, 0
        call func2
        sub %ESP, 4
        add %ESP, 12
        ret 4

for X86/fast-cc-merge-stack-adj.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22038 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase
Chris Lattner [Sat, 14 May 2005 23:52:09 +0000 (23:52 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22037 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd some new instructions
Chris Lattner [Sat, 14 May 2005 23:35:21 +0000 (23:35 +0000)]
Add some new instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22036 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd x86-64 abi
Chris Lattner [Sat, 14 May 2005 22:06:42 +0000 (22:06 +0000)]
add x86-64 abi

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22035 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Truncate a long line.
Reid Spencer [Sat, 14 May 2005 20:06:31 +0000 (20:06 +0000)]
* Truncate a long line.
* By default, doxygen output formatted for printing on letter size paper
  not A4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22034 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoForgot to commit this earlier. Its part of the simplify-libcalls
Reid Spencer [Sat, 14 May 2005 20:04:19 +0000 (20:04 +0000)]
Forgot to commit this earlier. Its part of the simplify-libcalls
enhancement for ffs, ffsl, and ffsll optimizations. We can't do the opt
unless we also have the at least ffsll function. Notably SVR4 doesn't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22033 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agomention the C++ exception problems on alpha
Andrew Lenharth [Sat, 14 May 2005 17:43:00 +0000 (17:43 +0000)]
mention the C++ exception problems on alpha

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22029 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a test case for testing ffs libcall conversion to constant
Reid Spencer [Sat, 14 May 2005 16:44:43 +0000 (16:44 +0000)]
Add a test case for testing ffs libcall conversion to constant

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22028 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoChanges for ffs lib call simplification:
Reid Spencer [Sat, 14 May 2005 16:42:52 +0000 (16:42 +0000)]
Changes for ffs lib call simplification:
* Check for availability of ffsll call in configure script
* Support ffs, ffsl, and ffsll conversion to constant value if the argument
  is constant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22027 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx
Chris Lattner [Sat, 14 May 2005 13:56:55 +0000 (13:56 +0000)]
Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22026 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPreserve calling conv when hacking on calls
Chris Lattner [Sat, 14 May 2005 12:28:32 +0000 (12:28 +0000)]
Preserve calling conv when hacking on calls

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22025 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agopreserve calling conventions when hacking on code
Chris Lattner [Sat, 14 May 2005 12:25:32 +0000 (12:25 +0000)]
preserve calling conventions when hacking on code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22024 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake sure to preserve the calling convention when changing an invoke into
Chris Lattner [Sat, 14 May 2005 12:21:56 +0000 (12:21 +0000)]
Make sure to preserve the calling convention when changing an invoke into
a call.  This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib
on X86 with -enable-x86-fastcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22023 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPass i64 values correctly split in reg/mem to fastcc calls.
Chris Lattner [Sat, 14 May 2005 12:03:10 +0000 (12:03 +0000)]
Pass i64 values correctly split in reg/mem to fastcc calls.

This fixes fourinarow with -enable-x86-fastcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22022 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse target-specific nodes for calls. This allows the fastcc code to not have
Chris Lattner [Sat, 14 May 2005 08:48:15 +0000 (08:48 +0000)]
Use target-specific nodes for calls.  This allows the fastcc code to not have
to do ugly hackery to avoid emitting code like this:

   call foo
   mov vreg, EAX
   adjcallstackup ...

If foo is a fastcc call and if vreg gets spilled, we might end up with this:

   call foo
   mov [ESP+offset], EAX     ;; Offset doesn't consider the 12!
   sub ESP, 12

Which is bad.  The previous hacky code to deal with this was A) gross B) not
good enough.  In particular, it could miss cases and emit the bad code above.
Now we always emit this:

   call foo
   adjcallstackup ...
   mov vreg, EAX

directly.

This makes fastcc with callees poping the stack work much better.  Next
stop (finally!) really is tail calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22021 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoallow token chain at start or end of node
Chris Lattner [Sat, 14 May 2005 08:34:53 +0000 (08:34 +0000)]
allow token chain at start or end of node

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22020 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoremove special case hacks for readport/readio from the binary operator
Chris Lattner [Sat, 14 May 2005 07:45:46 +0000 (07:45 +0000)]
remove special case hacks for readport/readio from the binary operator
codepath

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22019 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImplement fixme's by memoizing nodes.
Chris Lattner [Sat, 14 May 2005 07:42:29 +0000 (07:42 +0000)]
Implement fixme's by memoizing nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22018 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd a new map
Chris Lattner [Sat, 14 May 2005 07:36:02 +0000 (07:36 +0000)]
add a new map

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22017 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTurn this into a wrapper for a simpler version of getNode.
Chris Lattner [Sat, 14 May 2005 07:32:14 +0000 (07:32 +0000)]
Turn this into a wrapper for a simpler version of getNode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22016 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEliminate special purpose hacks for dynamic_stack_alloc.
Chris Lattner [Sat, 14 May 2005 07:29:57 +0000 (07:29 +0000)]
Eliminate special purpose hacks for dynamic_stack_alloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22015 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse the general mechanism for creating multi-value nodes instead of using
Chris Lattner [Sat, 14 May 2005 07:25:05 +0000 (07:25 +0000)]
Use the general mechanism for creating multi-value nodes instead of using
special case hacks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22014 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEnsure these casts are done with the hardware fildll instruction
Chris Lattner [Sat, 14 May 2005 07:09:25 +0000 (07:09 +0000)]
Ensure these casts are done with the hardware fildll instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22013 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agouse a target-specific node and custom expander to lower long->FP to FILD64m.
Chris Lattner [Sat, 14 May 2005 06:52:07 +0000 (06:52 +0000)]
use a target-specific node and custom expander to lower long->FP to FILD64m.

This should fix some missing symbols problems on BSD and improve performance
of programs that use that operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22012 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoWrap long line, actually add node to the graph.
Chris Lattner [Sat, 14 May 2005 06:42:57 +0000 (06:42 +0000)]
Wrap long line, actually add node to the graph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22011 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agolegalize target-specific operations
Chris Lattner [Sat, 14 May 2005 06:34:48 +0000 (06:34 +0000)]
legalize target-specific operations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22010 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd a getNode() version that allows construction of any node type.
Chris Lattner [Sat, 14 May 2005 06:20:26 +0000 (06:20 +0000)]
add a getNode() version that allows construction of any node type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22009 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a way to construct an arbitrary node, cleanly.
Chris Lattner [Sat, 14 May 2005 06:20:08 +0000 (06:20 +0000)]
Add a way to construct an arbitrary node, cleanly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22008 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd accessors
Chris Lattner [Sat, 14 May 2005 06:19:11 +0000 (06:19 +0000)]
add accessors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22007 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoSome minor adjustments for the 1.5 release.
Reid Spencer [Sat, 14 May 2005 05:52:07 +0000 (05:52 +0000)]
Some minor adjustments for the 1.5 release.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22006 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPass the dag into LowerOperation
Chris Lattner [Sat, 14 May 2005 05:51:05 +0000 (05:51 +0000)]
Pass the dag into LowerOperation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22005 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoLowerOperation takes a dag
Chris Lattner [Sat, 14 May 2005 05:50:48 +0000 (05:50 +0000)]
LowerOperation takes a dag

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22004 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd a bit about the known problems on IA64
Duraid Madina [Sat, 14 May 2005 05:48:13 +0000 (05:48 +0000)]
add a bit about the known problems on IA64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22003 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoPrint the symbolic register name in a register allocator debug dump.
Chris Lattner [Sat, 14 May 2005 05:34:15 +0000 (05:34 +0000)]
Print the symbolic register name in a register allocator debug dump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22002 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAllow targets to have a custom int64->fp expander if desired
Chris Lattner [Sat, 14 May 2005 05:33:54 +0000 (05:33 +0000)]
Allow targets to have a custom int64->fp expander if desired

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22001 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agothis passes
Chris Lattner [Sat, 14 May 2005 02:35:38 +0000 (02:35 +0000)]
this passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22000 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix this
Chris Lattner [Sat, 14 May 2005 02:33:20 +0000 (02:33 +0000)]
Fix this

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21999 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agominor changes
Chris Lattner [Sat, 14 May 2005 01:30:15 +0000 (01:30 +0000)]
minor changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21998 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agouser ops are not encoded in the bc format
Chris Lattner [Sat, 14 May 2005 01:26:46 +0000 (01:26 +0000)]
user ops are not encoded in the bc format

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21997 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDocument the pseudo-instruction opcodes in opcode range 56-63. These are
Reid Spencer [Sat, 14 May 2005 00:06:06 +0000 (00:06 +0000)]
Document the pseudo-instruction opcodes in opcode range 56-63. These are
used to support things like volatile load/store, tail calls, and calling
conventions without reserving space for the additional information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21996 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake sure the start of the arg area and the end (after the RA is pushed)
Chris Lattner [Fri, 13 May 2005 23:49:10 +0000 (23:49 +0000)]
Make sure the start of the arg area and the end (after the RA is pushed)
is always 8-byte aligned for fastcc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21995 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix the assertion
Chris Lattner [Fri, 13 May 2005 23:35:47 +0000 (23:35 +0000)]
fix the assertion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21994 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAlign doubles on 8-byte boundaries if possible.
Chris Lattner [Fri, 13 May 2005 23:14:17 +0000 (23:14 +0000)]
Align doubles on 8-byte boundaries if possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21993 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoprint stack object alignment in -print-machineinstr dumps
Chris Lattner [Fri, 13 May 2005 22:54:44 +0000 (22:54 +0000)]
print stack object alignment in -print-machineinstr dumps

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21992 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix typo
Chris Lattner [Fri, 13 May 2005 22:46:57 +0000 (22:46 +0000)]
fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21991 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMinor fixup of typos.
John Criswell [Fri, 13 May 2005 22:25:59 +0000 (22:25 +0000)]
Minor fixup of typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21990 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase
Chris Lattner [Fri, 13 May 2005 22:15:26 +0000 (22:15 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21989 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix the problems with callee popped argument lists
Chris Lattner [Fri, 13 May 2005 22:13:49 +0000 (22:13 +0000)]
Fix the problems with callee popped argument lists

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21988 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemoved PPC Linux support, as no one seems to have used it yet.
John Criswell [Fri, 13 May 2005 21:55:49 +0000 (21:55 +0000)]
Removed PPC Linux support, as no one seems to have used it yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21987 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDon't emit SAR X, 0 in the case of sdiv Y, 2
Chris Lattner [Fri, 13 May 2005 21:50:27 +0000 (21:50 +0000)]
Don't emit SAR X, 0  in the case of sdiv Y, 2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21986 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix UnitTests/2005-05-13-SDivTwo.c
Chris Lattner [Fri, 13 May 2005 21:48:20 +0000 (21:48 +0000)]
Fix UnitTests/2005-05-13-SDivTwo.c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21985 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoswitch to having the callee pop stack operands for fastcc. This is currently buggy
Chris Lattner [Fri, 13 May 2005 21:44:04 +0000 (21:44 +0000)]
switch to having the callee pop stack operands for fastcc.  This is currently buggy
do not use

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21984 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTolerate instrs with extra args
Chris Lattner [Fri, 13 May 2005 21:07:15 +0000 (21:07 +0000)]
Tolerate instrs with extra args

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21982 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a note about SPARC V8.
John Criswell [Fri, 13 May 2005 20:54:44 +0000 (20:54 +0000)]
Add a note about SPARC V8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21981 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoallow RETI
Chris Lattner [Fri, 13 May 2005 20:46:35 +0000 (20:46 +0000)]
allow RETI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21980 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd support for fastcc and friends
Chris Lattner [Fri, 13 May 2005 20:40:52 +0000 (20:40 +0000)]
add support for fastcc and friends

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21979 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMinor fixes.
John Criswell [Fri, 13 May 2005 20:38:44 +0000 (20:38 +0000)]
Minor fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21978 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agotreat TAILCALL nodes identically to CALL nodes
Chris Lattner [Fri, 13 May 2005 20:29:26 +0000 (20:29 +0000)]
treat TAILCALL nodes identically to CALL nodes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21977 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBuild TAILCALL nodes in LowerCallTo, treat them like normal calls everywhere.
Chris Lattner [Fri, 13 May 2005 20:29:13 +0000 (20:29 +0000)]
Build TAILCALL nodes in LowerCallTo, treat them like normal calls everywhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21976 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdded some missing platforms.
John Criswell [Fri, 13 May 2005 20:28:15 +0000 (20:28 +0000)]
Added some missing platforms.
Fixed some wording to be more accurate (I hope).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21975 91177308-0d34-0410-b5e6-96231b3b80d8