Commit Graph

18919 Commits

Author SHA1 Message Date
Reid Spencer
ee6fcf2915 Add the ability to generate the User LOC page via the userloc.pl script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22090 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 18:12:58 +00:00
Chris Lattner
416db10a5b more minor edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22088 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 17:13:10 +00:00
Chris Lattner
f9b1f46411 more edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22087 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 17:06:29 +00:00
Chris Lattner
bf307010c5 more edits, include stuff from the status update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22086 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 16:56:09 +00:00
Duraid Madina
775afa5ec0 pretty tiny change (looks like adding the HP-UX detection and line number
changes to me)

- not committing autoconf/configure.ac (oops, already committed that!)
- not committing include/llvm/Config/config.h.in (it remains unchanged)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22085 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 16:33:34 +00:00
Chris Lattner
1c2c61f219 flush on the right and indented on the left looks a bit weird.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22084 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 16:30:10 +00:00
John Criswell
fc6b895b5b 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
2005-05-16 16:17:45 +00:00
Chris Lattner
77d36d4ed5 fix a typo duraid noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22082 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 15:37:19 +00:00
Duraid Madina
26b1d42c84 comment the hpux bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22081 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 06:59:53 +00:00
Chris Lattner
20514d18a3 more edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22080 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 06:58:39 +00:00
Duraid Madina
aaad8388e9 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
2005-05-16 06:45:57 +00:00
Duraid Madina
0ad8fcf936 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
2005-05-16 06:38:09 +00:00
Duraid Madina
4c61d924d4 detect HP-UX when configuring
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22077 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 05:39:00 +00:00
Chris Lattner
1a4dff0118 remove deprecated methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22076 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-16 01:49:23 +00:00
Chris Lattner
f2b5e6edc0 GCC4 + IA64 = badnews
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22075 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 22:26:45 +00:00
Reid Spencer
b9a5d6861b 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
2005-05-15 22:15:11 +00:00
Chris Lattner
50ceadfa34 Improve statement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22073 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 21:38:32 +00:00
Reid Spencer
10017623d9 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
2005-05-15 21:35:26 +00:00
Chris Lattner
73b2291703 This does not belong
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22071 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 21:31:36 +00:00
Reid Spencer
c3f6abdd85 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
2005-05-15 21:27:34 +00:00
Reid Spencer
9b1749b1f4 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
2005-05-15 21:26:59 +00:00
Reid Spencer
f74eb3fa2a 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
2005-05-15 21:19:45 +00:00
Chris Lattner
fc87928ebb 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
2005-05-15 20:11:44 +00:00
Chris Lattner
022ed327bd 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
2005-05-15 19:54:37 +00:00
Chris Lattner
eff29abe2d ctlz = most signficant bits, cttz = least sig
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22061 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 19:39:26 +00:00
Chris Lattner
3e909e8bb9 fix warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22060 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 17:25:14 +00:00
Chris Lattner
7a5659176f fix compiler warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22059 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 17:23:19 +00:00
Reid Spencer
c64e3e77f9 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
2005-05-15 17:20:47 +00:00
Reid Spencer
edd5d9ece1 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
2005-05-15 16:13:11 +00:00
Chris Lattner
98a493c7ce add a sparcv8 section, make this validate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22056 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 16:01:20 +00:00
Chris Lattner
b38da0fb33 more edits, add anchors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22055 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 15:33:21 +00:00
Duraid Madina
e75a24a5fa make angry compilers happy again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22054 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 14:44:13 +00:00
Duraid Madina
4560657b4c 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
2005-05-15 13:05:48 +00:00
Chris Lattner
1b592f0bdf 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
2005-05-15 06:09:55 +00:00
Chris Lattner
a4faa4aecc add generated code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22051 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 06:07:40 +00:00
Chris Lattner
ea0354346f 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
2005-05-15 06:07:10 +00:00
Reid Spencer
5934de7aea Make note of the -simplify-libcalls pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22049 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 06:05:11 +00:00
Chris Lattner
70a1950154 add test to check for tail calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22048 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 05:52:51 +00:00
Chris Lattner
5fae9ccd39 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
2005-05-15 05:49:58 +00:00
Chris Lattner
381e88799e 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
2005-05-15 05:46:45 +00:00
Chris Lattner
8a458764d6 Substantial edits for the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22045 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 05:44:51 +00:00
Chris Lattner
e5eb6f829c 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
2005-05-15 05:39:08 +00:00
Chris Lattner
1e9448bce8 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
2005-05-15 03:10:37 +00:00
Chris Lattner
4fc997941d 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
2005-05-15 03:09:58 +00:00
Chris Lattner
0dede079e7 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
2005-05-15 01:10:30 +00:00
Chris Lattner
b73855bcd4 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
2005-05-14 23:54:55 +00:00
Chris Lattner
6972177bd4 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
2005-05-14 23:53:43 +00:00
Chris Lattner
3b8ce85b19 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22037 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-14 23:52:09 +00:00
Chris Lattner
2b3d56ee72 Add some new instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22036 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-14 23:35:21 +00:00
Chris Lattner
f5a5a6c666 add x86-64 abi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22035 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-14 22:06:42 +00:00