Chris Lattner
eee0814b04
new testcase
...
llvm-svn: 31885
2006-11-20 21:20:57 +00:00
Chris Lattner
ed9a2f6371
in ppc64-mode, don't allocate the 32-bit version of r13 either.
...
llvm-svn: 31884
2006-11-20 20:48:05 +00:00
Jim Laskey
cd74ba8ae1
Global label not handled correctly.
...
llvm-svn: 31883
2006-11-20 20:29:06 +00:00
Chris Lattner
ad5f088196
r13 is the thread pointer on darwin/ppc64, don't allocate it.
...
llvm-svn: 31882
2006-11-20 19:33:51 +00:00
Chris Lattner
85329c6ccb
Fix PR1005
...
llvm-svn: 31881
2006-11-20 18:57:02 +00:00
Chris Lattner
670eb9da78
Fix PR1001, patch by Nikhil Patil!
...
llvm-svn: 31880
2006-11-20 18:54:33 +00:00
Chris Lattner
86e39c84b6
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.
llvm-svn: 31879
2006-11-20 18:16:05 +00:00
Chris Lattner
a2bbd246e0
Fix PR1011 and CodeGen/Generic/2006-11-20-DAGCombineCrash.ll
...
llvm-svn: 31878
2006-11-20 18:05:46 +00:00
Chris Lattner
8584c85c9d
Testcase for PR1011
...
llvm-svn: 31877
2006-11-20 18:05:26 +00:00
Chris Lattner
31f45746ad
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
llvm-svn: 31876
2006-11-20 17:57:22 +00:00
Chris Lattner
2f3a9f5d0c
Testcase for pr1012
...
llvm-svn: 31875
2006-11-20 17:55:30 +00:00
Anton Korobeynikov
2449b29bdd
We should perform extra load for dllimported calls
...
llvm-svn: 31874
2006-11-20 10:46:14 +00:00
Tanya Lattner
20d99993fd
Fixed typo
...
llvm-svn: 31871
2006-11-20 06:07:10 +00:00
Tanya Lattner
bc46d2c07f
Adding 1.9 release and removing references to cfrontend
...
llvm-svn: 31870
2006-11-20 06:04:46 +00:00
Tanya Lattner
f426d468d7
Changing cfrontend dir to llvm-gcc3.4 as the example.
...
llvm-svn: 31869
2006-11-20 05:52:06 +00:00
Reid Spencer
6e34ef887b
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.
llvm-svn: 31867
2006-11-20 01:22:35 +00:00
Reid Spencer
5487228419
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.
llvm-svn: 31866
2006-11-19 23:07:00 +00:00
Reid Spencer
93bdfff01e
Corrections from review.
...
llvm-svn: 31865
2006-11-19 03:00:14 +00:00
Chris Lattner
4946ae54df
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.
llvm-svn: 31864
2006-11-18 22:25:39 +00:00
Chris Lattner
b101c06bce
Fix another case we *don't* want to do this xform.
...
llvm-svn: 31861
2006-11-18 21:56:39 +00:00
Reid Spencer
603a6e0590
Update a reference to the old setcc instruction.
...
llvm-svn: 31860
2006-11-18 21:55:45 +00:00
Reid Spencer
dfa8272cca
For PR950:
...
Documentation preview of the upcoming icmp and fcmp instructions that
will replace the various setcc instructions.
llvm-svn: 31859
2006-11-18 21:50:54 +00:00
Chris Lattner
4715f9a02e
MachineInstr includes this
...
llvm-svn: 31858
2006-11-18 21:48:05 +00:00
Chris Lattner
3a34164b82
Implement operator<< for machine basic blocks to make it easier to dump them.
...
llvm-svn: 31857
2006-11-18 21:47:36 +00:00
Chris Lattner
514fc3de5c
make the previous change more aggressive, moving any block with no fallthrough.
...
This speeds up yacr2 by 7% on a core2.
llvm-svn: 31856
2006-11-18 21:30:35 +00:00
Chris Lattner
bddc114cfb
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.
llvm-svn: 31855
2006-11-18 20:47:54 +00:00
Chris Lattner
cdb67482da
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.
llvm-svn: 31853
2006-11-18 19:19:36 +00:00
Chris Lattner
af923f0720
converting massive blocks of phis into selects like this is silly.
...
llvm-svn: 31852
2006-11-18 19:17:52 +00:00
Reid Spencer
ce839fd108
Make the awk filter print out which files its eliminating.
...
llvm-svn: 31851
2006-11-18 18:30:18 +00:00
Reid Spencer
e52a08d399
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.
llvm-svn: 31850
2006-11-18 18:02:30 +00:00
Reid Spencer
e5c34cf38e
Provide a list of gccld optimization switches.
...
llvm-svn: 31849
2006-11-18 17:14:09 +00:00
Reid Spencer
572819f0c0
Fix bugs in this. What was I thinking??? :)
...
llvm-svn: 31848
2006-11-18 08:06:17 +00:00
Anton Korobeynikov
38f8d184e7
Movind newly-intorudced dll* linkage stuff & windows CC to "supported"
...
list
llvm-svn: 31847
2006-11-18 08:04:48 +00:00
Chris Lattner
292dbfe5a8
fix bug
...
llvm-svn: 31846
2006-11-18 07:52:10 +00:00
Chris Lattner
146db9e859
first draft of 1.9 release notes
...
llvm-svn: 31845
2006-11-18 07:51:14 +00:00
Reid Spencer
9a5c56e27e
Fail even if opt doesn't print anything.
...
llvm-svn: 31844
2006-11-18 06:08:21 +00:00
Reid Spencer
b610ada904
Add a simple test to make sure getModRefInfo is 1/2 way sane.
...
llvm-svn: 31842
2006-11-18 05:52:18 +00:00
Reid Spencer
c7a1e60e44
Have ConstantExprs upgrade opcodes the same way as instructions.
...
llvm-svn: 31841
2006-11-18 04:37:19 +00:00
Chris Lattner
eb9b1840b3
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.
llvm-svn: 31840
2006-11-18 01:57:19 +00:00
Chris Lattner
c4b759987a
make sure to safe LR8 in the right stack slot for PPC64
...
llvm-svn: 31839
2006-11-18 01:34:43 +00:00
Chris Lattner
a55a2365bc
Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.
...
llvm-svn: 31838
2006-11-18 01:23:56 +00:00
Chris Lattner
f50d87eb50
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.
llvm-svn: 31837
2006-11-18 00:32:03 +00:00
Chris Lattner
a5439b7913
add encoding for BCC, after finally wrestling strange ppc/tblgen endianness
...
issues to the ground.
llvm-svn: 31836
2006-11-17 23:53:28 +00:00
Chris Lattner
0d88b19f2f
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 :(
llvm-svn: 31835
2006-11-17 22:37:34 +00:00
Chris Lattner
73329ae80d
rename PPC::COND_BRANCH to PPC::BCC
...
llvm-svn: 31834
2006-11-17 22:14:47 +00:00
Chris Lattner
1527483a15
start using PPC predicates more consistently.
...
llvm-svn: 31833
2006-11-17 22:10:59 +00:00
Evan Cheng
a9176b38f9
For unsigned 8-bit division. Use movzbw to set the lower 8 bits of AX while
...
clearing the upper 8-bits instead of issuing two instructions. This also
eliminates the need to target the AH register which can be problematic on
x86-64.
llvm-svn: 31832
2006-11-17 22:10:14 +00:00
Jim Laskey
bc27bd0c6e
Hopefully a good crack at making debugging work on intel -disable-fp-elim.
...
llvm-svn: 31830
2006-11-17 21:19:15 +00:00
Evan Cheng
37e2931b0a
Add a x86-64 test case: movb %sil, %ah is illegal.
...
llvm-svn: 31829
2006-11-17 20:41:55 +00:00
Jim Laskey
a1f032c03a
Assert unhandled case.
...
llvm-svn: 31828
2006-11-17 18:49:39 +00:00