Rafael Espindola
71d94d8817
add blx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 16:21:43 +00:00
Rafael Espindola
70673a1a90
add isTerminatortto b and bcond
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31036 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 16:20:57 +00:00
Jim Laskey
096c22ea3d
Use global info for alias analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31035 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 12:29:57 +00:00
Rafael Espindola
5f1b698aeb
implement CallingConv::Fast as CallingConv::C
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31034 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 12:03:07 +00:00
Anton Korobeynikov
b1c8802407
Fixed mingw\cygwin linkonce linkage once again.
...
Added workaround for linker bug with linkonce sections.
Changed sections prefix to allow linker merge them
(PE loader doesn't like too much long-named sections :) )
All of this unbreaks libstdc++ on mingw32 allowing (small)
programs to be compiled, linked and run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31033 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 09:12:29 +00:00
Owen Anderson
a6fc5016ee
Add LCSSA to the LLVM lexicon.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31032 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 05:50:12 +00:00
Owen Anderson
1dc6969f48
Add support for the new "target data" information in .ll files. This provides
...
a better encoding of the targets data layout, rather than trying to guess it
from the endianness and pointersize like before.
Update the generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31031 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 02:21:48 +00:00
Owen Anderson
cf7ff2b4c8
Add support for the new "target data" information in .ll files. This provides
...
a better encoding of the targets data layout, rather than trying to guess it
from the endianness and pointersize like before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31030 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 02:21:12 +00:00
Chris Lattner
9935dd9198
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31029 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 01:21:35 +00:00
Chris Lattner
10da957574
set the ppc64 stack pointer right, dynamic alloca now works for ppc64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31028 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 01:20:43 +00:00
Chris Lattner
56a752e00f
Expand alloca for ppc64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31027 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 01:18:48 +00:00
Chris Lattner
683747abb8
Teach the branch folder to update debug info if it removes blocks with line
...
# notes in it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31026 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 23:17:27 +00:00
Chris Lattner
a97906b6e6
add a method to remove a line # record.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31025 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 23:16:42 +00:00
Chris Lattner
ae1dc40327
expose DWARF_LABEL opcode# so the branch folder can update debug info properly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31024 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 22:41:45 +00:00
Chris Lattner
72dc585268
update comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31023 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 22:12:15 +00:00
Chris Lattner
8466b21432
Do not leak all of the SourceLineInfo objects. Do not bother mallocing each
...
one separately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31022 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 22:06:46 +00:00
Chris Lattner
dc246715cb
minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31021 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:51:44 +00:00
Chris Lattner
b360729873
Trivial patch to speed up legalizing common i64 constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31020 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:47:13 +00:00
Chris Lattner
50662beab7
Fix CodeGen/PowerPC/2006-10-17-brcc-miscompile.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31019 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:24:15 +00:00
Chris Lattner
158cf5edb2
new testcase, miscompilation of llvm with itself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31018 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:23:20 +00:00
Evan Cheng
649b7ef627
Fix printer for StoreSDNode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31017 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:18:26 +00:00
Evan Cheng
2cacccae19
Reflect MemOpAddrMode change; added a helper to create pre-indexed load.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31016 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:14:32 +00:00
Evan Cheng
35acd30a2e
Split PRE_INDEXED to PRE_INC / PRE_DEC and similarly for POST_INDEXED.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31015 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:12:56 +00:00
Rafael Espindola
226f8bc38c
expand ISD::SDIV, ISD::UDIV, ISD::SREM and ISD::UREM
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31014 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:05:33 +00:00
Rafael Espindola
04d88ffdb5
add the FPUnaryOp and DFPUnaryOp classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31013 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:45:22 +00:00
Rafael Espindola
c01c87c8ba
add FABSS and FABSD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31012 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:33:13 +00:00
Anton Korobeynikov
b7188b1684
Adding linkonce linkage codegeneration support for mingw32\cygwin
...
targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31011 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:29:49 +00:00
Rafael Espindola
278dbaa17f
cleanup some tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:20:07 +00:00
Jim Laskey
26f7fa7bba
Make it simplier to dump DAGs while in DAGCombiner. Remove a nasty optimization.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31009 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 19:33:52 +00:00
Rafael Espindola
3f3a6f6c3b
remove extra [] in stores
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31008 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:29:14 +00:00
Chris Lattner
ffddf6ba1c
Enable deleting branches to successor blocks. With the previous patches,
...
branch folding can now compile stuff like this:
void foo(int W, int X, int Y, int Z) {
if (W & 1) {
for (; X;--X) bar();
} else if (W & 2) {
for (; Y;--Y) bar();
} else if (W & 4) {
for (; Z;--Z) bar();
} else if (W & 8) {
for (; W;--W) bar();
}
if (W) {
bar();
}
}
contrived testcase where loops exits all end up merging together. To have
the loop merges be:
...
cmplw cr0, r30, r27
bne cr0, LBB1_14 ;bb38
LBB1_16: ;cond_next48.loopexit
mr r27, r29
LBB1_20: ;cond_next48
cmplwi cr0, r27, 0
beq cr0, LBB1_22 ;UnifiedReturnBlock
...
instead of:
...
cmplw cr0, r30, r27
bne cr0, LBB1_14 ;bb38
LBB1_16: ;cond_next48.loopexit
mr r27, r29
b LBB1_20 ;cond_next48
LBB1_17: ;cond_next48.loopexit1
b LBB1_20 ;cond_next48
LBB1_18: ;cond_next48.loopexit2
b LBB1_20 ;cond_next48
LBB1_19: ;cond_next48.loopexit3
LBB1_20: ;cond_next48
cmplwi cr0, r27, 0
beq cr0, LBB1_22 ;UnifiedReturnBlock
...
This is CodeGen/PowerPC/branch-opt.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31006 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:16:40 +00:00
Chris Lattner
065a13fd69
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31005 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:14:39 +00:00
Chris Lattner
2dc7723474
add support for inserting an uncond branch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31003 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:06:55 +00:00
Rafael Espindola
32bd5f4f6a
initial implementation of addressing mode 5
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31002 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:04:53 +00:00
Jim Laskey
99e41eed6d
Clean up interface to getGlobalLinkName.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31001 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 17:17:24 +00:00
Chris Lattner
c50ffcb7fc
Reenable this pass, fixing the bugs in it.
...
It now correctly deletes unreachable blocks and blocks that are empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31000 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 17:13:52 +00:00
Evan Cheng
5d04a1af4f
Make sure operand does have size and element type operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30999 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 17:06:35 +00:00
Rafael Espindola
0d479ecbb1
add the immediate to the Offset in eliminateFrameIndex
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30998 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 14:34:02 +00:00
Jim Laskey
a1a19f803c
Basic support for getGlobalLinkName.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30997 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 13:41:07 +00:00
Rafael Espindola
f621abca9e
add FSTD and FSTS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30996 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 13:36:07 +00:00
Rafael Espindola
199dd67c50
add FCPYS and FCPYD
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30995 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 13:13:23 +00:00
Jim Laskey
5059dda6bd
Use S_debug for dwarf info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30994 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 11:30:57 +00:00
Evan Cheng
f896d1e247
Proper fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30993 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 00:24:49 +00:00
Evan Cheng
cf92230e3e
One more try.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30992 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 23:44:08 +00:00
Reid Spencer
ac5209e5fe
Undo Chris' last patch, it caused a regression.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30991 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 23:08:08 +00:00
Evan Cheng
348b00dc49
Unbreak x86-64 build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 22:53:28 +00:00
Evan Cheng
5956922a2d
Be careful when looking through a vbit_convert. Optimizing this:
...
(vector_shuffle
(vbitconvert (vbuildvector (copyfromreg v4f32), 1, v4f32), 4, f32),
(undef, undef, undef, undef), (0, 0, 0, 0), 4, f32)
to the
vbitconvert
is a very bad idea.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30989 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 22:49:37 +00:00
Rafael Espindola
a605be69c3
add fdivs e fdivd
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 21:50:04 +00:00
Rafael Espindola
0505be03ad
expand ISD::SHL_PARTS, ISD::SRA_PARTS and ISD::SRL_PARTS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30987 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 21:10:32 +00:00
Evan Cheng
93b11f8284
Added a X86CompilationCallback variant which saves XMM argument registers for targets with SSE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30986 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 21:01:55 +00:00