oota-llvm.git
16 years agoAdd Win64 compilation callback. This allows easy examples to be JITed on Win64!
Anton Korobeynikov [Sun, 23 Mar 2008 14:44:32 +0000 (14:44 +0000)]
Add Win64 compilation callback. This allows easy examples to be JITed on Win64!

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

16 years agoUse C-style comments :)
Anton Korobeynikov [Sun, 23 Mar 2008 13:44:17 +0000 (13:44 +0000)]
Use C-style comments :)

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

16 years agoProvide a JIT selector on win64
Anton Korobeynikov [Sun, 23 Mar 2008 13:43:47 +0000 (13:43 +0000)]
Provide a JIT selector on win64

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

16 years agoHack out the PIC mode on Win64 targets. This needs to be investigated later.
Anton Korobeynikov [Sun, 23 Mar 2008 13:41:18 +0000 (13:41 +0000)]
Hack out the PIC mode on Win64 targets. This needs to be investigated later.

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

16 years agoCode cleanup. Provide generic way of selecting JIT pointer bitwidth regardless
Anton Korobeynikov [Sun, 23 Mar 2008 13:40:45 +0000 (13:40 +0000)]
Code cleanup. Provide generic way of selecting JIT pointer bitwidth regardless
of compiler used.

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

16 years agoRemove old-standing obsolete code.
Anton Korobeynikov [Sun, 23 Mar 2008 12:32:54 +0000 (12:32 +0000)]
Remove old-standing obsolete code.

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

16 years agoAdd Mikhail to credits file
Anton Korobeynikov [Sun, 23 Mar 2008 08:58:32 +0000 (08:58 +0000)]
Add Mikhail to credits file

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

16 years agoAdd first proof-of-concept universal compiler driver framework based
Anton Korobeynikov [Sun, 23 Mar 2008 08:57:20 +0000 (08:57 +0000)]
Add first proof-of-concept universal compiler driver framework based
on ideas mentioned in PR686.
Written by Mikhail Glushenkov and contributed by Codedgers, Inc.

Old llvmc will be removed soon after new one will have all its properties.

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

16 years agoNew testcase.
Bill Wendling [Sat, 22 Mar 2008 22:27:01 +0000 (22:27 +0000)]
New testcase.

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

16 years agoDon't strip things when we're doing a debug build.
Bill Wendling [Sat, 22 Mar 2008 21:57:15 +0000 (21:57 +0000)]
Don't strip things when we're doing a debug build.

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

16 years agoHonour built-in defines on win64 targets for automatically subtarget recognize.
Anton Korobeynikov [Sat, 22 Mar 2008 21:18:22 +0000 (21:18 +0000)]
Honour built-in defines on win64 targets for automatically subtarget recognize.
Force stack alignment to 16 bytes on win targets.

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

16 years agoRecognize "windows" in target triple, not only "win32"
Anton Korobeynikov [Sat, 22 Mar 2008 21:12:53 +0000 (21:12 +0000)]
Recognize "windows" in target triple, not only "win32"

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

16 years agoUse normal naming convention for test.
Owen Anderson [Sat, 22 Mar 2008 21:08:33 +0000 (21:08 +0000)]
Use normal naming convention for test.

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

16 years agoAdd information about callee-saved registers on Win64
Anton Korobeynikov [Sat, 22 Mar 2008 21:04:01 +0000 (21:04 +0000)]
Add information about callee-saved registers on Win64

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

16 years agoAdd convenient helper for win64 check. Simplify things slightly.
Anton Korobeynikov [Sat, 22 Mar 2008 20:57:27 +0000 (20:57 +0000)]
Add convenient helper for win64 check. Simplify things slightly.

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

16 years agoInitial support for Win64 calling conventions. Still in early state.
Anton Korobeynikov [Sat, 22 Mar 2008 20:37:30 +0000 (20:37 +0000)]
Initial support for Win64 calling conventions. Still in early state.

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

16 years agoRegister EH frames emitted in JIT when using gcc unwinding runtime
Anton Korobeynikov [Sat, 22 Mar 2008 08:53:09 +0000 (08:53 +0000)]
Register EH frames emitted in JIT when using gcc unwinding runtime

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

16 years agoFix merge error
Anton Korobeynikov [Sat, 22 Mar 2008 08:50:08 +0000 (08:50 +0000)]
Fix merge error

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

16 years agoAdd testcase for prev. commit. Minor fixes
Anton Korobeynikov [Sat, 22 Mar 2008 08:37:05 +0000 (08:37 +0000)]
Add testcase for prev. commit. Minor fixes

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

16 years agoAliasing chains cleanups: update langref, add check into verifier
Anton Korobeynikov [Sat, 22 Mar 2008 08:36:14 +0000 (08:36 +0000)]
Aliasing chains cleanups: update langref, add check into verifier

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

16 years agoSupport chained aliases for LLVM IR printing. This fixes PR2145
Anton Korobeynikov [Sat, 22 Mar 2008 08:17:17 +0000 (08:17 +0000)]
Support chained aliases for LLVM IR printing. This fixes PR2145

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

16 years agoAnother comments fixing
Anton Korobeynikov [Sat, 22 Mar 2008 07:53:40 +0000 (07:53 +0000)]
Another comments fixing

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

16 years agoSlightly increase default set size. It's cheap and won't hurt.
Anton Korobeynikov [Sat, 22 Mar 2008 07:48:40 +0000 (07:48 +0000)]
Slightly increase default set size. It's cheap and won't hurt.

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

16 years agoTypo fixes
Anton Korobeynikov [Sat, 22 Mar 2008 07:48:08 +0000 (07:48 +0000)]
Typo fixes

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

16 years agoimplement an initial hack at a straight-line store -> memset optimization.
Chris Lattner [Sat, 22 Mar 2008 05:37:16 +0000 (05:37 +0000)]
implement an initial hack at a straight-line store -> memset optimization.
This fires dozens of times across spec and multisource, but I don't know
if it actually speeds stuff up.  Hopefully the testers will show something
nice :)

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

16 years agoimplement the logic for memset insertion and store deletion.
Chris Lattner [Sat, 22 Mar 2008 04:13:49 +0000 (04:13 +0000)]
implement the logic for memset insertion and store deletion.

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

16 years agoAdd a comment, and fix a bug where AllocateRW recurred to AllocateRWX instead of...
Owen Anderson [Sat, 22 Mar 2008 02:59:54 +0000 (02:59 +0000)]
Add a comment, and fix a bug where AllocateRW recurred to AllocateRWX instead of itself.

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

16 years agoAdd an AllocateRW to match AllocateRWX.
Owen Anderson [Sat, 22 Mar 2008 02:33:53 +0000 (02:33 +0000)]
Add an AllocateRW to match AllocateRWX.

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

16 years agoTeach DAG combiner to commute commutable binary nodes in order to achieve sdisel...
Evan Cheng [Sat, 22 Mar 2008 01:55:50 +0000 (01:55 +0000)]
Teach DAG combiner to commute commutable binary nodes in order to achieve sdisel CSE.

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

16 years agoThis is a partially implemented and currently disabled start of a store
Chris Lattner [Sat, 22 Mar 2008 00:31:52 +0000 (00:31 +0000)]
This is a partially implemented and currently disabled start of a store
merging optimization.  Nothing to see here, hopefully more later :)

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

16 years agoDon't include <map> in Pass.h, which doesn't need it. This requires
Dan Gohman [Fri, 21 Mar 2008 23:51:57 +0000 (23:51 +0000)]
Don't include <map> in Pass.h, which doesn't need it. This requires
adding <map> to many files that actually do need it.

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

16 years agoAvoid calling array_endof in a static initializer, as it incurs
Dan Gohman [Fri, 21 Mar 2008 23:44:21 +0000 (23:44 +0000)]
Avoid calling array_endof in a static initializer, as it incurs
dynamic initialization.

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

16 years agoSpecialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trick
Dan Gohman [Fri, 21 Mar 2008 23:38:23 +0000 (23:38 +0000)]
Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trick
to avoid using constructor calls for static objects. This reduces
the number of objects requiring static constructors in a typical
LLVM build by around 20%.

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

16 years agoFix -view-sunit-dags to support cross-rc-copy nodes.
Dan Gohman [Fri, 21 Mar 2008 22:51:06 +0000 (22:51 +0000)]
Fix -view-sunit-dags to support cross-rc-copy nodes.

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

16 years agoa happier version of happiness
Gabor Greif [Fri, 21 Mar 2008 22:17:07 +0000 (22:17 +0000)]
a happier version of happiness

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

16 years agothe size of a smallvector shouldn't be part of the interface to these methods.
Chris Lattner [Fri, 21 Mar 2008 22:01:16 +0000 (22:01 +0000)]
the size of a smallvector shouldn't be part of the interface to these methods.

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

16 years agomake gvn marginally faster by reallocating the lastSeenLoad map for
Chris Lattner [Fri, 21 Mar 2008 21:33:23 +0000 (21:33 +0000)]
make gvn marginally faster by reallocating the lastSeenLoad map for
each basic block.

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

16 years agoMinor cleanups and shrinkification.
Chris Lattner [Fri, 21 Mar 2008 21:14:38 +0000 (21:14 +0000)]
Minor cleanups and shrinkification.

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

16 years agoHandle getresult instructions in different basic blocks
Dan Gohman [Fri, 21 Mar 2008 21:01:32 +0000 (21:01 +0000)]
Handle getresult instructions in different basic blocks
from their aggregate operands by moving the getresult
instructions.

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

16 years agoRestore this assert now that the livevar bug is fixed.
Chris Lattner [Fri, 21 Mar 2008 20:41:27 +0000 (20:41 +0000)]
Restore this assert now that the livevar bug is fixed.
This verifies kill info for "ret" fp operands is right.

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

16 years agoTestcase for PR2160.
Duncan Sands [Fri, 21 Mar 2008 20:22:11 +0000 (20:22 +0000)]
Testcase for PR2160.

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

16 years agoA couple of kill marker maintainence bug.
Evan Cheng [Fri, 21 Mar 2008 19:09:30 +0000 (19:09 +0000)]
A couple of kill marker maintainence bug.

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

16 years agoclean up and fix the call section.
Chris Lattner [Fri, 21 Mar 2008 17:24:17 +0000 (17:24 +0000)]
clean up and fix the call section.

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

16 years agocleanups for the getresult section.
Chris Lattner [Fri, 21 Mar 2008 17:20:51 +0000 (17:20 +0000)]
cleanups for the getresult section.

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

16 years agoFunctionExtractorPass has been superceded by GVExtractorPass
Andrew Lenharth [Fri, 21 Mar 2008 16:46:53 +0000 (16:46 +0000)]
FunctionExtractorPass has been superceded by GVExtractorPass

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

16 years agoMake it possible to get an empty struct using
Duncan Sands [Fri, 21 Mar 2008 15:53:17 +0000 (15:53 +0000)]
Make it possible to get an empty struct using
the new StructType::get method.  The second NULL
is to pacify the gcc warning mechanism.  This
patch compiles but is otherwise untested.

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

16 years agoIntroduce a new node for holding call argument
Duncan Sands [Fri, 21 Mar 2008 09:14:45 +0000 (09:14 +0000)]
Introduce a new node for holding call argument
flags.  This is needed by the new legalize types
infrastructure which wants to expand the 64 bit
constants previously used to hold the flags on
32 bit machines.  There are two functional changes:
(1) in LowerArguments, if a parameter has the zext
attribute set then that is marked in the flags;
before it was being ignored; (2) PPC had some bogus
code for handling two word arguments when using the
ELF 32 ABI, which was hard to convert because of
the bogusness.  As suggested by the original author
(Nicolas Geoffray), I've disabled it for the moment.
Tested with "make check" and the Ada ACATS testsuite.

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

16 years agoFix the build for gcc-4.2.
Duncan Sands [Fri, 21 Mar 2008 08:32:17 +0000 (08:32 +0000)]
Fix the build for gcc-4.2.

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

16 years agoremove Evan's "ugly hack" that sorta attempted to get
Chris Lattner [Fri, 21 Mar 2008 06:50:21 +0000 (06:50 +0000)]
remove Evan's "ugly hack" that sorta attempted to get
x86-64 return conventions correct, but was never enabled.
We can now do the "right thing" with multiple return values.

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

16 years agoAdd support for calls that return two FP values in
Chris Lattner [Fri, 21 Mar 2008 06:38:26 +0000 (06:38 +0000)]
Add support for calls that return two FP values in
ST(0)/ST(1).

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

16 years agodisable a bogus assertion.
Chris Lattner [Fri, 21 Mar 2008 06:01:05 +0000 (06:01 +0000)]
disable a bogus assertion.

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

16 years agoEnable support for returning two long-double values in ST(0)/ST(1).
Chris Lattner [Fri, 21 Mar 2008 05:57:20 +0000 (05:57 +0000)]
Enable support for returning two long-double values in ST(0)/ST(1).
This allows us to compile fp-stack-2results.ll into:

_test:
fldz
fld1
ret

which returns 1 in ST(0) and 0 in ST(1).  This is needed for x86-64
_Complex long double.

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

16 years agoTeach masked value is zero about add and sub, and use MVIZ to
Chris Lattner [Fri, 21 Mar 2008 05:19:58 +0000 (05:19 +0000)]
Teach masked value is zero about add and sub, and use MVIZ to
simplify things like (X & 4) >> 1 == 2  --> (X & 4) == 4.

since it is obvious that the shift doesn't remove any bits.

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

16 years agoUndo 48570. Correctly match mmx shift instructions with an immediate operand.
Evan Cheng [Fri, 21 Mar 2008 00:40:09 +0000 (00:40 +0000)]
Undo 48570. Correctly match mmx shift instructions with an immediate operand.

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

16 years agoignore the Output/ directory
Gabor Greif [Fri, 21 Mar 2008 00:10:42 +0000 (00:10 +0000)]
ignore the Output/ directory

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

16 years agothis directory is accidentally added
Gabor Greif [Fri, 21 Mar 2008 00:03:49 +0000 (00:03 +0000)]
this directory is accidentally added

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

16 years agoThese passes preserve CFG.
Devang Patel [Thu, 20 Mar 2008 23:27:18 +0000 (23:27 +0000)]
These passes preserve CFG.
This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester

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

16 years agoIncorporate feedback.
Devang Patel [Thu, 20 Mar 2008 18:30:32 +0000 (18:30 +0000)]
Incorporate feedback.
- Fix loop nest.
- Use RetVals.size()
- Check for null return value.

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

16 years agoC and Objective Caml bindings for mem2reg and reg2mem.
Gordon Henriksen [Thu, 20 Mar 2008 17:16:03 +0000 (17:16 +0000)]
C and Objective Caml bindings for mem2reg and reg2mem.

Patch by Erick Tryzelaar.

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

16 years agoenable -analyze for andersens
Andrew Lenharth [Thu, 20 Mar 2008 15:36:44 +0000 (15:36 +0000)]
enable -analyze for andersens

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

16 years agoTake the old function's name.
Zhou Sheng [Thu, 20 Mar 2008 08:05:05 +0000 (08:05 +0000)]
Take the old function's name.

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

16 years agoubyte and sbyte? what are those?
Nick Lewycky [Thu, 20 Mar 2008 06:19:51 +0000 (06:19 +0000)]
ubyte and sbyte? what are those?

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

16 years agoadd a note.
Chris Lattner [Thu, 20 Mar 2008 04:46:13 +0000 (04:46 +0000)]
add a note.

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

16 years agoCheck even more carefully before applying this DAGCombine transform.
Christopher Lamb [Thu, 20 Mar 2008 04:31:39 +0000 (04:31 +0000)]
Check even more carefully before applying this DAGCombine transform.

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

16 years agoRestore isCFGOnly property of various analysis passes.
Devang Patel [Thu, 20 Mar 2008 02:25:21 +0000 (02:25 +0000)]
Restore isCFGOnly property of various analysis passes.

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

16 years agoFix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_s...
Evan Cheng [Thu, 20 Mar 2008 02:18:41 +0000 (02:18 +0000)]
Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m)))

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

16 years agodetabify llvm, patch by Mike Stump!
Chris Lattner [Thu, 20 Mar 2008 01:22:40 +0000 (01:22 +0000)]
detabify llvm, patch by Mike Stump!

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

16 years agoKeep track of analysis information inherited from Module pass manager.
Devang Patel [Thu, 20 Mar 2008 01:09:53 +0000 (01:09 +0000)]
Keep track of analysis information inherited from Module pass manager.

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

16 years agoAdd more patterns to match in the integer comparison test harnesses.
Scott Michel [Thu, 20 Mar 2008 00:51:36 +0000 (00:51 +0000)]
Add more patterns to match in the integer comparison test harnesses.
Fix bugs encountered, mostly due to range matching for immediates;
the CellSPU's 10-bit immediates are sign extended, covering a
larger range of unsigned values.

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

16 years ago80 col violation.
Evan Cheng [Thu, 20 Mar 2008 00:20:23 +0000 (00:20 +0000)]
80 col violation.

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

16 years agoAdd intrinsics to match mmx shift builtin's with immediate operand.
Evan Cheng [Wed, 19 Mar 2008 23:38:52 +0000 (23:38 +0000)]
Add intrinsics to match mmx shift builtin's with immediate operand.

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

16 years agoAdd comment.
Devang Patel [Wed, 19 Mar 2008 23:05:52 +0000 (23:05 +0000)]
Add comment.

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

16 years agostyle and spelling
Andrew Lenharth [Wed, 19 Mar 2008 22:32:43 +0000 (22:32 +0000)]
style and spelling

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

16 years ago#if 1 .. #endif markers do not add any value.
Devang Patel [Wed, 19 Mar 2008 22:24:25 +0000 (22:24 +0000)]
#if 1  .. #endif markers do not add any value.

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

16 years agoRemove dead options.
Evan Cheng [Wed, 19 Mar 2008 22:02:26 +0000 (22:02 +0000)]
Remove dead options.

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

16 years agoPassInfo keep tracks whether a pass is an analysis pass or not.
Devang Patel [Wed, 19 Mar 2008 21:56:59 +0000 (21:56 +0000)]
PassInfo keep tracks whether a pass is an analysis pass or not.

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

16 years agoAdd support for multiple return values for the PPC target by
Dan Gohman [Wed, 19 Mar 2008 21:39:28 +0000 (21:39 +0000)]
Add support for multiple return values for the PPC target by
converting call result lowering to use the CallingConvLowering
infastructure.

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

16 years agollvm-ld deserves disable-verify too. opt shouldn't have all the fun options.
Andrew Lenharth [Wed, 19 Mar 2008 20:49:51 +0000 (20:49 +0000)]
llvm-ld deserves disable-verify too.  opt shouldn't have all the fun options.

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

16 years agoDon't loose incoming argument registers. Fix documentation style.
Arnold Schwaighofer [Wed, 19 Mar 2008 16:39:45 +0000 (16:39 +0000)]
Don't loose incoming argument registers. Fix documentation style.

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

16 years agoFix comment.
Duncan Sands [Wed, 19 Mar 2008 10:59:59 +0000 (10:59 +0000)]
Fix comment.

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

16 years agoFix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill...
Christopher Lamb [Wed, 19 Mar 2008 08:30:06 +0000 (08:30 +0000)]
Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491.

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

16 years agoUpgrade tests.
Tanya Lattner [Wed, 19 Mar 2008 07:28:33 +0000 (07:28 +0000)]
Upgrade tests.

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

16 years agoUpgrade tests.
Tanya Lattner [Wed, 19 Mar 2008 05:39:35 +0000 (05:39 +0000)]
Upgrade tests.

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

16 years agoadd some convenience methods for creating GEP instructions and
Chris Lattner [Wed, 19 Mar 2008 05:06:05 +0000 (05:06 +0000)]
add some convenience methods for creating GEP instructions and
struct types.  Patch by David Chisnall, with some tweaks.

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

16 years agoUpgrade tests to not use llvm-upgrade.
Tanya Lattner [Wed, 19 Mar 2008 04:36:04 +0000 (04:36 +0000)]
Upgrade tests to not use llvm-upgrade.

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

16 years agoUpgrade tests to not use llvm-upgrade.
Tanya Lattner [Wed, 19 Mar 2008 04:14:49 +0000 (04:14 +0000)]
Upgrade tests to not use llvm-upgrade.

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

16 years agoC bindings for Module-, Function-, and BasicBlock::iterator.
Gordon Henriksen [Wed, 19 Mar 2008 03:47:18 +0000 (03:47 +0000)]
C bindings for Module-, Function-, and BasicBlock::iterator.

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

16 years agoRemove llvm-upgrade and update tests.
Tanya Lattner [Wed, 19 Mar 2008 03:47:13 +0000 (03:47 +0000)]
Remove llvm-upgrade and update tests.

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

16 years agoFixed a coalescer bug caused by a typo.
Evan Cheng [Wed, 19 Mar 2008 02:26:36 +0000 (02:26 +0000)]
Fixed a coalescer bug caused by a typo.

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

16 years agoC and Objective Caml bindings for the various getParent methods of the IR.
Gordon Henriksen [Wed, 19 Mar 2008 01:11:35 +0000 (01:11 +0000)]
C and Objective Caml bindings for the various getParent methods of the IR.

Based on Erick Tryzelaar's patch.

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

16 years agoFix live variables issues:
Evan Cheng [Wed, 19 Mar 2008 00:52:20 +0000 (00:52 +0000)]
Fix live variables issues:
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue.
2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register:
   = EAX, AX<imp-use,kill>
...
AX =
In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things.

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

16 years agoDo not use virtual function to identify an analysis pass.
Devang Patel [Wed, 19 Mar 2008 00:48:41 +0000 (00:48 +0000)]
Do not use virtual function to identify an analysis pass.

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

16 years agoOn Darwin, GCC issues a ".globl" for something that has a "visibility protected"
Bill Wendling [Tue, 18 Mar 2008 23:38:12 +0000 (23:38 +0000)]
On Darwin, GCC issues a ".globl" for something that has a "visibility protected"
attribute instead of ".protected".

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

16 years agoFix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function...
Evan Cheng [Tue, 18 Mar 2008 23:36:35 +0000 (23:36 +0000)]
Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it!

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

16 years agoNote that gcc 4.0.1 will trip internal LLVM asserts (e.g., pred_iterator) if compiling
Scott Michel [Tue, 18 Mar 2008 23:13:26 +0000 (23:13 +0000)]
Note that gcc 4.0.1 will trip internal LLVM asserts (e.g., pred_iterator) if compiling
for Release with optimization levels greater than -O0.

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

16 years agoIt might be nice to have this run as x86 on non-x86 platforms...
Bill Wendling [Tue, 18 Mar 2008 22:38:22 +0000 (22:38 +0000)]
It might be nice to have this run as x86 on non-x86 platforms...

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

16 years agoTemporarily revert r48491. It's breaking test/CodeGen/X86/xorl.ll.
Bill Wendling [Tue, 18 Mar 2008 22:29:51 +0000 (22:29 +0000)]
Temporarily revert r48491. It's breaking  test/CodeGen/X86/xorl.ll.

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

16 years agoFix PR 2160 by making sure arguments to external functions get marked as pointing...
Daniel Berlin [Tue, 18 Mar 2008 22:22:53 +0000 (22:22 +0000)]
Fix PR 2160 by making sure arguments to external functions get marked as pointing to anything

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

16 years agoDo not pass -g flag when compiling tests, so remove the C.Flags. This only happens...
Tanya Lattner [Tue, 18 Mar 2008 19:59:04 +0000 (19:59 +0000)]
Do not pass -g flag when compiling tests, so remove the C.Flags. This only happens if you have a debug build of llvm.

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

16 years agoMake conversions of i8/i16 to ppcf128 work.
Dale Johannesen [Tue, 18 Mar 2008 17:28:38 +0000 (17:28 +0000)]
Make conversions of i8/i16 to ppcf128 work.

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