oota-llvm.git
19 years agoFor PR514: Do not configure removed files
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

19 years agoFor PR514: Do not configure removed files
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

19 years agoFastcc passes arguments in EAX and EDX, make sure the JIT doesn't clobber them
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

19 years agoTailcalls require stubs to be emitted. Otherwise, the compilation callback
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

19 years agoFor PR514:
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

19 years agoMake the value to -s not be interpreted as a file name
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

19 years agoAdd an llvmc specification file for the "st" suffix. This allows Stacker
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

19 years agoFor PR514:
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

19 years agoTwo changes to support building shared libraries that contain multiple
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

19 years agoReid linked to the CVS release notes on newsforge :(
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

19 years agoWrap long lines
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

19 years agoNew Release Notes for LLVM 1.6.
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

19 years agoOnward to LLVM-1.6 and beyond!
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

19 years agoUpdated version to LLVM 1.6 CVS.
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

19 years agoMerged in release_15.
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

19 years agoteach the inliner about coldcc and noreturn functions
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

19 years agoRemove extra header in the SPARC section
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

19 years agoFix a few grammaros.
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

19 years ago* Add a link to the pattern-matching codegen docs
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

19 years agoRecommend writing new instruction selectors using pattern-based mechanisms
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

19 years agoAdd link to debugging code generators with bugpoint
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

19 years agoIt would help if the headings were sorted properly.
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

19 years agoFix a brain blunder in the HTML output.
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

19 years agoSometimes tab completion is *not* your friend. Added the wrong file, by
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

19 years agoAdjust the dependencies and generate the output to docs/userloc.html so
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

19 years agoAdd a script to generate information about the number of lines of code a
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

19 years agoAdd the ability to generate the User LOC page via the userloc.pl script.
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

19 years agomore minor edits
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

19 years agomore edits
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

19 years agomore edits, include stuff from the status update
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

19 years agopretty tiny change (looks like adding the HP-UX detection and line number
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

19 years agoflush on the right and indented on the left looks a bit weird.
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

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