Jim Laskey
650f609734
Add support for function types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28874 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 19:41:06 +00:00
Evan Cheng
6cee033a80
Allow LLVM to be built with extra options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28873 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:50:48 +00:00
Evan Cheng
6d11ddbd8d
Rename EXTRA_FLAGS to EXTRA_OPTIONS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28872 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:49:13 +00:00
John Criswell
a877f14383
Added LLVM publications describing the LLVM compiler infrastructure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28871 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 18:21:31 +00:00
John Criswell
0389cf746e
Added the privbracket project to the list of projects to auto-configure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28870 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 17:44:40 +00:00
Andrew Lenharth
a51139f446
Fix build on old compilers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28869 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 15:32:17 +00:00
Chris Lattner
02cdb377ec
Fix an error message regression. Print:
...
LI8: (LI8:i64 (imm:i64):$imm)
instead of:
LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28868 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:56:37 +00:00
Chris Lattner
4e85e64007
Remove some now-unneeded casts from instruction patterns. With the casts
...
removed, tblgen produces identical output to with them in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28867 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:39:56 +00:00
Chris Lattner
047854f2b7
Add some patterns for ppc64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28866 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:38:36 +00:00
Chris Lattner
186fb7d131
Don't require src/dst patterns to be able to fully resolve their types,
...
because information about one can help refine the other. This allows us to
write:
def : Pat<(i32 (extload xaddr:$src, i8)),
(LBZX xaddr:$src)>;
as:
def : Pat<(extload xaddr:$src, i8),
(LBZX xaddr:$src)>;
because tblgen knows LBZX returns i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28865 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:31:27 +00:00
Chris Lattner
30da68acce
Remove some ugly now-redundant casts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28864 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:25:29 +00:00
Chris Lattner
a354849c27
Make sure to use the result of the pattern to infer the result type of the
...
instruction, and the result type of the instruction to refine the pattern.
This allows us to write things like this:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
as:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)>
and fixes a ppc64 issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28863 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:18:02 +00:00
Chris Lattner
a973993c0c
Fix some mismatched type constraints
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28862 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 00:12:37 +00:00
Jim Laskey
d16f2a7326
References need to be section relative.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 19:49:42 +00:00
Evan Cheng
b21495043e
Minor clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28860 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 19:25:30 +00:00
Andrew Lenharth
ab390d045a
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 18:23:36 +00:00
Jim Laskey
067ef412bb
References need to be section relative.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28858 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 15:48:00 +00:00
Andrew Lenharth
3770500f88
Fix a bug, don't drop indirect call sites, especially if there is nothing known about them yet, and restore a simple version of a removed function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28857 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 15:42:47 +00:00
Jim Laskey
ca0dc56742
Handle versioning of compile unit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 12:54:15 +00:00
Rafael Espindola
58421d7d08
initial implementation of ARMRegisterInfo::eliminateFrameIndex
...
fixes test/Regression/CodeGen/ARM/ret_arg5.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28854 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-18 00:08:07 +00:00
Chris Lattner
5cff2677a6
Constant fold sqrtf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28853 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 18:17:52 +00:00
Chris Lattner
dfc0375ec3
Just a minor tweak so you can run things like:
...
TestRunner.sh Foo/Bar/test.ll
instead of just
TestRunner.sh test.ll
which is convenient in conjunction with find.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28852 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 08:06:33 +00:00
Evan Cheng
61496683b3
Clean up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28851 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 01:42:20 +00:00
Chris Lattner
eb83f4e6cd
Fix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where a
...
"LCSSA" phi node causes indvars to break dominance properties. This fixes
causes indvars to avoid inserting aggressive code in this case, instead
indvars should be fixed to be more aggressive in the face of lcssa phi's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28850 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 01:02:31 +00:00
Chris Lattner
98c3e1cc92
new testcase that crashes indvars
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 01:01:30 +00:00
Evan Cheng
357edf8a4f
A new entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28848 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 00:45:49 +00:00
Chris Lattner
b1d26f6665
Implement the getPointerRegClass method, which is required for the ptr_rc
...
magic to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28847 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 00:01:04 +00:00
Jim Laskey
f06ef2cc16
Forgot operands were hard coded for compile unit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 23:36:12 +00:00
Jim Laskey
e9493d330d
Include information of svn repository for llvm-gcc4.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28845 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 23:34:49 +00:00
Jim Laskey
3261f0bd6a
Include information about svn repository for llvm-gcc4.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28844 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 23:20:21 +00:00
Evan Cheng
54edc84000
Later models likely to have Yonah like attributes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28843 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:58:49 +00:00
Chris Lattner
f988e53613
Do not hardcode random paths into the makefile. Make the user specify the
...
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:47:59 +00:00
Chris Lattner
a24b7618f8
Upgrade some load/store instructions to use the proper addressing mode stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28841 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:29:41 +00:00
Chris Lattner
66d7ebb777
In 64-bit mode, addr mode operands use G8RC instead of GPRC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28840 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:29:03 +00:00
Chris Lattner
059ca0f5b7
fix some assumptions that pointers can only be 32-bits. With this, we can
...
now compile:
static unsigned long X;
void test1() {
X = 0;
}
into:
_test1:
lis r2, ha16(_X)
li r3, 0
stw r3, lo16(_X)(r2)
blr
Totally amazing :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 21:01:35 +00:00
Chris Lattner
956f43c310
Split 64-bit instructions out into a separate .td file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28838 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 20:22:01 +00:00
Chris Lattner
8fa05dac39
Force 64-bit register availability in 64-bit mode. For real.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28837 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 20:05:06 +00:00
Chris Lattner
dd19791c77
Document known xcode 2.3 issue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28836 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 19:53:39 +00:00
Chris Lattner
af89fa609b
Remove the -darwin and -aix llc options, inferring darwinism and aixism from
...
the target triple & subtarget info. woo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28835 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:50:48 +00:00
Evan Cheng
fb9d0dce97
Add missing casts. This fixed some regressions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28834 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:37:15 +00:00
Chris Lattner
8f60d54fb1
Improve a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28833 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:25:06 +00:00
Chris Lattner
426b782a92
Simplify TargetData ctor call
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28832 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:24:38 +00:00
Chris Lattner
831b121039
Don't pass target name into TargetData anymore, it is never used or needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28831 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:23:49 +00:00
Chris Lattner
1790d44d0d
Don't pass target name into TargetData anymore, it is never used or needed.
...
Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28830 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:22:52 +00:00
Chris Lattner
c91dc678e9
Simplify the targetdata ctor by not passing in a "targetname" which is always
...
ignored.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28829 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:21:53 +00:00
Chris Lattner
acbc07aa22
Remove ctor with each piece specifyable (which causes overload ambiguities),
...
add a new init method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28828 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:11:26 +00:00
Chris Lattner
a827953c32
Only count instructions as code size, not constant pools and other per-function stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28827 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:09:26 +00:00
Chris Lattner
276f4b5235
Simplify interpreter construction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28826 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:08:38 +00:00
Chris Lattner
7c1fb5f08c
Document the subtarget features better, make sure that 64-bit mode, 64-bit
...
support, and 64-bit register use are all consistent with each other.
Add a new "IsPPC" feature, to distinguish ppc32 vs ppc64 targets, use this
to configure TargetData differently. This not makes ppc64 blow up on lots
of stuff :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28825 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 17:50:12 +00:00
Chris Lattner
a7a5854f1c
Rename some subtarget features. A CPU now can *have* 64-bit instructions,
...
can in 32-bit mode we can choose to optionally *use* 64-bit registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28824 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 17:34:12 +00:00