John Criswell
d452599f6f
Added the --disable-compression option which controls whether the
...
generated bytecode uses compression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31891 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-21 22:50:24 +00:00
Chris Lattner
13c654a42a
This xform is handled by FoldOpIntoPhi in visitCastInst in a more elegant way.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31889 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-21 17:05:13 +00:00
Anton Korobeynikov
12c49af81e
Refactored *GVRequiresExtraLoad() to Subtarget method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31887 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-21 00:01:06 +00:00
Jim Laskey
e04bf546e0
Test for PR1013.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31886 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 21:58:02 +00:00
Chris Lattner
bdde0d9553
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31885 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 21:20:57 +00:00
Chris Lattner
e9c9f98f71
in ppc64-mode, don't allocate the 32-bit version of r13 either.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31884 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 20:48:05 +00:00
Jim Laskey
0374248e86
Global label not handled correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31883 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 20:29:06 +00:00
Chris Lattner
bdc571b7d5
r13 is the thread pointer on darwin/ppc64, don't allocate it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31882 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 19:33:51 +00:00
Chris Lattner
1dcf5e8c3a
Fix PR1005
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31881 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:57:02 +00:00
Chris Lattner
f7560ed6b1
Fix PR1001, patch by Nikhil Patil!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31880 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:54:33 +00:00
Chris Lattner
3b6f497873
Fix codegen for x86-64 on systems (like ppc or i386) that don't have 64-bit
...
features autodetected. This fixes PR1010 and Regression/CodeGen/X86/xmm-r64.ll
on non-x86-64 hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31879 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:16:05 +00:00
Chris Lattner
32ba1aa204
Fix PR1011 and CodeGen/Generic/2006-11-20-DAGCombineCrash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31878 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:05:46 +00:00
Chris Lattner
f2d2a5a79c
Testcase for PR1011
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31877 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:05:26 +00:00
Chris Lattner
a138c6c73a
setOperand should not zap the operand list or add implicit operands to an
...
instruction. Doing so breaks the FP stackifier, the alpha branch selector
the sparc fpmover.
This fixes PR1012 and CodeGen/X86/fp-stack-compare.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31876 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 17:57:22 +00:00
Chris Lattner
aa9c54909d
Testcase for pr1012
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31875 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 17:55:30 +00:00
Anton Korobeynikov
a59868519b
We should perform extra load for dllimported calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31874 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 10:46:14 +00:00
Tanya Lattner
134693aed0
Fixed typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31871 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 06:07:10 +00:00
Tanya Lattner
f7b6be0d87
Adding 1.9 release and removing references to cfrontend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31870 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 06:04:46 +00:00
Tanya Lattner
c9aee64172
Changing cfrontend dir to llvm-gcc3.4 as the example.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31869 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 05:52:06 +00:00
Reid Spencer
45fb3f3cb2
For PR950:
...
First in a series of patches to convert SetCondInst into ICmpInst and
FCmpInst using only two opcodes and having the instructions contain their
predicate value. Nothing uses these classes yet. More patches to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31867 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 01:22:35 +00:00
Reid Spencer
36699cabc5
For PR950:
...
Retain the signedness of the old integer types in a new TypeInfo structure
so that it can be used in the grammar to implement auto-upgrade of things
that depended on signedness of types. This doesn't implement any new
functionality in the AsmParser, its just plumbing for future changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31866 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-19 23:07:00 +00:00
Reid Spencer
b7f26289b1
Corrections from review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31865 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-19 03:00:14 +00:00
Chris Lattner
4b10591265
Don't transform in another bad case: if the block is empty, it should be
...
simplified before we do this xform so that our cost model is accurate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31864 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 22:25:39 +00:00
Chris Lattner
f10a56a86f
Fix another case we *don't* want to do this xform.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31861 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:56:39 +00:00
Reid Spencer
36d68e418d
Update a reference to the old setcc instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31860 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:55:45 +00:00
Reid Spencer
f3a70a6cd9
For PR950:
...
Documentation preview of the upcoming icmp and fcmp instructions that
will replace the various setcc instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31859 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:50:54 +00:00
Chris Lattner
9b9cc5ab71
MachineInstr includes this
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31858 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:48:05 +00:00
Chris Lattner
1ccc4684f3
Implement operator<< for machine basic blocks to make it easier to dump them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31857 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:47:36 +00:00
Chris Lattner
154e104718
make the previous change more aggressive, moving any block with no fallthrough.
...
This speeds up yacr2 by 7% on a core2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31856 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 21:30:35 +00:00
Chris Lattner
a7bef4a4e4
Minor code layout tweak: if we have something like this:
...
if (cond) goto BB2
BB1:
...
return;
BB2:
...
Move BB1 to the end of the function so that the code falls through in the
non-return case. This has the effect of moving assert (and other no-return
call) bodies and return blocks out of loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 20:47:54 +00:00
Chris Lattner
822a879983
Do not convert massive blocks on phi nodes into select statements. Instead
...
only do these transformations if there are a small number of phi's.
This speeds up Ptrdist/ks from 2.35s to 2.19s on my mac pro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31853 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 19:19:36 +00:00
Chris Lattner
e6cc288941
converting massive blocks of phis into selects like this is silly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31852 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 19:17:52 +00:00
Reid Spencer
161a2fb9d8
Make the awk filter print out which files its eliminating.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31851 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 18:30:18 +00:00
Reid Spencer
35d958cf76
This is a utility for preparing patches against LLVM. It runs cvs diff with
...
the correct options, places the patch content in order that makes sense for
review, and filters cruft out of the patch (like diffs in *.cvs files). It
produces both a NAME.patch.raw (unfiltered) and NAME.patch (filtered) file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31850 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 18:02:30 +00:00
Reid Spencer
5b31cf0f9f
Provide a list of gccld optimization switches.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 17:14:09 +00:00
Reid Spencer
52d0d6648e
Fix bugs in this. What was I thinking??? :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31848 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 08:06:17 +00:00
Anton Korobeynikov
9413de3c80
Movind newly-intorudced dll* linkage stuff & windows CC to "supported"
...
list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31847 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 08:04:48 +00:00
Chris Lattner
c53e5061a8
fix bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 07:52:10 +00:00
Chris Lattner
2629922054
first draft of 1.9 release notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31845 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 07:51:14 +00:00
Reid Spencer
64fc3411b0
Fail even if opt doesn't print anything.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31844 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 06:08:21 +00:00
Reid Spencer
1faa5491d2
Add a simple test to make sure getModRefInfo is 1/2 way sane.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 05:52:18 +00:00
Reid Spencer
967413fa20
Have ConstantExprs upgrade opcodes the same way as instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31841 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 04:37:19 +00:00
Chris Lattner
b1eb987ccd
on ppc64, float arguments take 8-byte stack slots not 4-byte stack slots.
...
Also, valist should create a pointer RC reg class value, not a GPRC value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31840 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 01:57:19 +00:00
Chris Lattner
ff790894bd
make sure to safe LR8 in the right stack slot for PPC64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 01:34:43 +00:00
Chris Lattner
566c1b1a04
Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31838 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 01:23:56 +00:00
Chris Lattner
54e853b8a6
Rewrite the branch selector to be correct in the face of large functions.
...
The algorithm it used before wasn't 100% correct, we now use an iterative
expansion model. This fixes assembler errors when compiling 403.gcc with
tail merging enabled.
Change the way the branch selector works overall: Now, the isel generates
PPC::BCC instructions (as it used to) directly, and these BCC instructions
are emitted to the output or jitted directly if branches don't need
expansion. Only if branches need expansion are instructions rewritten
and created. This should make branch select faster, and eliminates the
Bxx instructions from the .td file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31837 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 00:32:03 +00:00
Chris Lattner
d5275157b5
add encoding for BCC, after finally wrestling strange ppc/tblgen endianness
...
issues to the ground.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31836 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 23:53:28 +00:00
Chris Lattner
18258c6404
convert PPC::BCC to use the 'pred' operand instead of separate predicate
...
value and CR reg #. This requires swapping the order of these everywhere
that touches BCC and requires us to write custom matching logic for
PPCcondbranch :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31835 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 22:37:34 +00:00
Chris Lattner
289c2d5f45
rename PPC::COND_BRANCH to PPC::BCC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31834 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 22:14:47 +00:00
Chris Lattner
df4ed6350b
start using PPC predicates more consistently.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31833 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 22:10:59 +00:00