Reid Spencer [Thu, 19 May 2005 08:37:50 +0000 (08:37 +0000)]
For PR514: Do not configure removed files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22139
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 08:31:55 +0000 (08:31 +0000)]
For PR514: Do not configure removed files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22138
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 May 2005 06:49:17 +0000 (06:49 +0000)]
Fastcc passes arguments in EAX and EDX, make sure the JIT doesn't clobber them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 May 2005 05:54:33 +0000 (05:54 +0000)]
Tailcalls require stubs to be emitted. Otherwise, the compilation callback
doesn't know who 'called' it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22136
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 01:06:46 +0000 (01:06 +0000)]
For PR514:
* Make sure the "etcdir" gets checked for configuration files so that
the installed location for config files is checked.
* Remove the st.in file (moved to projects/Stacker/tools/stkrc)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22135
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 01:05:02 +0000 (01:05 +0000)]
Make the value to -s not be interpreted as a file name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22134
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 00:54:10 +0000 (00:54 +0000)]
Add an llvmc specification file for the "st" suffix. This allows Stacker
programs to benefit from the optimization capabilities of the llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22133
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 00:52:28 +0000 (00:52 +0000)]
For PR514:
* language specification files are no longer configured with "configure"
* add substitutions for %bindir%, %libdir%, and various llvmgcc related
variables needed in the c and cpp spec files.
* Implement the stubstituions in the Compiler Driver.
* Move st.in to projects/Stacker/tools/stkrc where it belongs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22128
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 May 2005 00:37:31 +0000 (00:37 +0000)]
Two changes to support building shared libraries that contain multiple
llvm archive or re-linked libraries:
1. Permit the "JIT" special keyword on LLVMLIBS to be recognized when
building a library, not just for building tools
2. If LINK_LIBS_IN_SHARED is set, the LLVMLIBS and USEDLIBS can be specified
when linking a shared library and the libraries listed will be
incorported into the shared library. THis is only used when the
SHARED_LIBRARY variable is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 May 2005 22:23:56 +0000 (22:23 +0000)]
Reid linked to the CVS release notes on newsforge :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22126
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 18 May 2005 20:37:33 +0000 (20:37 +0000)]
Wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22125
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 18 May 2005 20:28:46 +0000 (20:28 +0000)]
New Release Notes for LLVM 1.6.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22124
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 18 May 2005 20:23:20 +0000 (20:23 +0000)]
Onward to LLVM-1.6 and beyond!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22123
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 18 May 2005 20:18:40 +0000 (20:18 +0000)]
Updated version to LLVM 1.6 CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22122
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 18 May 2005 19:43:33 +0000 (19:43 +0000)]
Merged in release_15.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22120
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 May 2005 04:30:33 +0000 (04:30 +0000)]
teach the inliner about coldcc and noreturn functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22113
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 17 May 2005 15:15:19 +0000 (15:15 +0000)]
Remove extra header in the SPARC section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22101
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 17 May 2005 02:47:27 +0000 (02:47 +0000)]
Fix a few grammaros.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22100
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 17 May 2005 02:33:03 +0000 (02:33 +0000)]
* Add a link to the pattern-matching codegen docs
* Tersify wording
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22099
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 17 May 2005 02:27:30 +0000 (02:27 +0000)]
Recommend writing new instruction selectors using pattern-based mechanisms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22098
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 17 May 2005 02:12:32 +0000 (02:12 +0000)]
Add link to debugging code generators with bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22097
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 19:33:21 +0000 (19:33 +0000)]
It would help if the headings were sorted properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22096
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 18:52:57 +0000 (18:52 +0000)]
Fix a brain blunder in the HTML output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22094
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 18:30:38 +0000 (18:30 +0000)]
Sometimes tab completion is *not* your friend. Added the wrong file, by
accident so now I'm correcting it. The script is userloc.pl not userloc.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22093
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 18:29:13 +0000 (18:29 +0000)]
Adjust the dependencies and generate the output to docs/userloc.html so
that it can properly link to the CSS stylesheet and images.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22092
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 18:26:47 +0000 (18:26 +0000)]
Add a script to generate information about the number of lines of code a
user has checked in (not necessarily authored) based on cvs annotate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22091
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 May 2005 18:12:58 +0000 (18:12 +0000)]
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
Chris Lattner [Mon, 16 May 2005 17:13:10 +0000 (17:13 +0000)]
more minor edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 May 2005 17:06:29 +0000 (17:06 +0000)]
more edits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22087
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 May 2005 16:56:09 +0000 (16:56 +0000)]
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
Duraid Madina [Mon, 16 May 2005 16:33:34 +0000 (16:33 +0000)]
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
Chris Lattner [Mon, 16 May 2005 16:30:10 +0000 (16:30 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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