Nate Begeman [Mon, 16 Jan 2006 07:57:00 +0000 (07:57 +0000)]
Add BSWAP stuff to intrinsic lowering for CBE & friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25355
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 16 Jan 2006 07:54:23 +0000 (07:54 +0000)]
Fix up 'adding an intrinsic' section a bit, first draft of 'adding a new
sdnode' section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25354
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 16 Jan 2006 06:33:38 +0000 (06:33 +0000)]
fix division! again!! pattern isel, prepare to die.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:40:00 +0000 (01:40 +0000)]
Silly Sparc is big endian. If we have to load args out of incoming stack slots
that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:06:43 +0000 (01:06 +0000)]
This pass has been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:06:00 +0000 (01:06 +0000)]
This pass has never worked correctly. Remove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:05:24 +0000 (01:05 +0000)]
Remove a never-working pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:05:00 +0000 (01:05 +0000)]
PRE is no more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 22:22:01 +0000 (22:22 +0000)]
Make sure that bool,byte and short arguments are the right type when loaded
from memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:58:50 +0000 (21:58 +0000)]
Thanks to Daniel Berlin's ETForest fix, we can now use it again for the verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:48:36 +0000 (21:48 +0000)]
Initialize DFSnum's to -1, in case a node is not reachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:46:23 +0000 (21:46 +0000)]
add an assert, patch by Daniel Berlin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25343
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Sun, 15 Jan 2006 20:48:27 +0000 (20:48 +0000)]
Added spec for insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 20:00:51 +0000 (20:00 +0000)]
ET-Forest has issues with unreachable blocks. Temporarily disable verifiers use
of it until they are resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 19:15:46 +0000 (19:15 +0000)]
Disable a broken optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 18:58:59 +0000 (18:58 +0000)]
Disable two transformations that contribute to bus errors on SparcV8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25339
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 15 Jan 2006 10:05:20 +0000 (10:05 +0000)]
Added patterns for 8-bit multiply
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25338
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 15 Jan 2006 10:04:45 +0000 (10:04 +0000)]
Type inferencing bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25337
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 15 Jan 2006 09:45:23 +0000 (09:45 +0000)]
explain that r12 is the stack pointer reg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 09:26:27 +0000 (09:26 +0000)]
Don't print a label for the first MBB in a function.
Compile this:
%_2E_str_8 = external global [75 x sbyte]
implementation ; Functions:
declare int %printf(sbyte*, ...)
void %test()
%tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) ) ; <int> [#uses=0]
unreachable
}
to this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
add %l0, %lo(_2E_str_8), %o0
call printf
nop
instead of this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
or %g0, %lo(_2E_str_8), %l1 ;; extra instruction
add %l1, %l0, %o0
call printf
nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25335
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 09:02:48 +0000 (09:02 +0000)]
Use the default impl of DYNAMIC_STACKALLOC, allowing us to delete some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25334
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 09:00:21 +0000 (09:00 +0000)]
Use the default lowering of ISD::DYNAMIC_STACKALLOC, delete now dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25333
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:55:25 +0000 (08:55 +0000)]
Have legalize take care of DYNAMIC_STACKALLOC for us, implement llvm.stacksave/stackrestore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:54:32 +0000 (08:54 +0000)]
Allow the target to specify 'expand' if they just require the amount to
be subtracted from the stack pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25331
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:43:57 +0000 (08:43 +0000)]
Implement DYNAMIC_STACKALLOC for V8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25330
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:43:08 +0000 (08:43 +0000)]
Fix custom lowering of dynamic_stackalloc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25329
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:40:16 +0000 (08:40 +0000)]
add a missing break that Reid noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 08:39:35 +0000 (08:39 +0000)]
add a missing node name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 07:19:53 +0000 (07:19 +0000)]
reorder passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 22:41:46 +0000 (22:41 +0000)]
Token chain results are not always the first or last result. Consider copyfromreg nodes, where they are the middle result (the flag result is last)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 22:27:21 +0000 (22:27 +0000)]
Cleanup IA64ISD, tell the graph drawer what the symbolic names for the enums are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25324
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:55:09 +0000 (20:55 +0000)]
Change ET-Forest to automatically recalculate its DFSnum's if too many slow
queries are made.
Patch by Daniel Berlin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:11:13 +0000 (20:11 +0000)]
silence a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:09:18 +0000 (20:09 +0000)]
Let the inliner update the callgraph to reflect the changes it makes, instead
of doing it ourselves. This fixes Transforms/Inline/2006-01-14-CallGraphUpdate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:07:50 +0000 (20:07 +0000)]
Teach the inliner to update the CallGraph itself, and have it add edges to
llvm.stacksave/restore when it inserts calls to them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:07:07 +0000 (20:07 +0000)]
New testcase for a regression last night: the -inline pass wasn't updating
callgraph to include new edges do to inserted llvm.stacksave/llvm.stackrestore
calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:05:06 +0000 (20:05 +0000)]
Teach inline function how to update the callgraph when it makes changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25318
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:03:00 +0000 (20:03 +0000)]
Add a new CallGraph::getOrInsertFunction for clients to use when updating
the callgraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25317
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 20:01:50 +0000 (20:01 +0000)]
Add CallGraph::getOrInsertFunction, to allow clients to update the callgraph
when they change the program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 19:30:35 +0000 (19:30 +0000)]
FunctionPass's cannot do IPO things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25315
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 19:17:02 +0000 (19:17 +0000)]
add a dump method to CallGraph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25314
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 14 Jan 2006 03:18:27 +0000 (03:18 +0000)]
Remove some duplicated code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25313
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 14 Jan 2006 03:14:10 +0000 (03:14 +0000)]
bswap implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25312
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 14 Jan 2006 02:17:20 +0000 (02:17 +0000)]
Fix generous source of VC++ truncation warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25311
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 14 Jan 2006 01:27:10 +0000 (01:27 +0000)]
Fix the instructions for adding an intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25310
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 14 Jan 2006 01:25:24 +0000 (01:25 +0000)]
Add bswap intrinsics as documented in the Language Reference
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25309
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 14 Jan 2006 01:24:22 +0000 (01:24 +0000)]
Remove some redundant stuff out of the readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25308
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 14 Jan 2006 01:18:49 +0000 (01:18 +0000)]
A typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25307
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 14 Jan 2006 00:29:48 +0000 (00:29 +0000)]
testcase for PR676: http://llvm.cs.uiuc.edu/PR676
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25306
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 00:07:34 +0000 (00:07 +0000)]
Implement a new InvalidateStructLayoutInfo method and add some comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25304
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Jan 2006 00:06:42 +0000 (00:06 +0000)]
Add a new InvalidateStructLayoutInfo method and some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25303
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 13 Jan 2006 23:26:38 +0000 (23:26 +0000)]
Make the bswap documentation more to sabre's liking!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 23:26:01 +0000 (23:26 +0000)]
fix some minor errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25301
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 13 Jan 2006 23:02:51 +0000 (23:02 +0000)]
Add documentation for the upcoming bswap intrinsics!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25300
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Fri, 13 Jan 2006 22:48:06 +0000 (22:48 +0000)]
Added instcombine support for extractelement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25299
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 22:05:36 +0000 (22:05 +0000)]
testcase for PR691
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25298
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 22:01:47 +0000 (22:01 +0000)]
new testcases for the stackrestore instcombine optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25297
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 21:45:19 +0000 (21:45 +0000)]
Add truncstore i1 patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25296
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 21:31:54 +0000 (21:31 +0000)]
it is ok to dce stacksave.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 21:28:09 +0000 (21:28 +0000)]
Do a simple instcombine xforms to delete llvm.stackrestore cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25294
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 20:19:44 +0000 (20:19 +0000)]
Fix a bug in my last X86 checkin, pointed out by cozmic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25293
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 20:11:04 +0000 (20:11 +0000)]
Simplify this a tiny bit by using the new IntrinsicInst functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25292
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 20:00:51 +0000 (20:00 +0000)]
Simplify the implementations of classof using the new IntrinsicInst classof.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25291
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 19:51:46 +0000 (19:51 +0000)]
LHS = X86ISD::CMOVcc LHS, RHS means LHS = RHS if cc. So the operands must be
flipped around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25290
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:49:02 +0000 (19:49 +0000)]
Add some functionality to the IntrinsicInst class and some comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25289
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:35:43 +0000 (19:35 +0000)]
Permit inlining functions that contain dynamic allocations now that
InlineFunction handles this case safely. This implements
Transforms/Inline/dynamic_alloca_test.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25288
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:35:05 +0000 (19:35 +0000)]
New testcase that functions with dynamic allocas can be inlined, and are
inlined correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:34:14 +0000 (19:34 +0000)]
If inlining a call to a function that contains dynamic allocas, wrap the
resultant code with llvm.stacksave/llvm.stackrestore intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25286
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:18:11 +0000 (19:18 +0000)]
Use ClonedCodeInfo to avoid another walk over the inlined code, this this
time in common C cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25285
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:15:15 +0000 (19:15 +0000)]
Use the ClonedCodeInfo object to avoid scans of the inlined code when
it doesn't contain any calls. This is a fairly common case for C++ code,
so it will probably speed up the inliner marginally in these cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25284
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 19:05:59 +0000 (19:05 +0000)]
Refactor a bunch of invoke handling stuff out into a new function
"HandleInlinedInvoke". No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25283
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 13 Jan 2006 18:49:47 +0000 (18:49 +0000)]
make DAG isel the default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25282
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 18:39:17 +0000 (18:39 +0000)]
Allow the code cloning interfaces to capture some important info about the
code being cloned if the client wants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25281
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 18:16:48 +0000 (18:16 +0000)]
Fix a bug I noticed by inspection: if the first instruction in the inlined
function was not an alloca, we wouldn't check the entry block for any allocas,
leading to increased stack space in some cases. In practice, allocas are almost
always at the top of the block, so this was never noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25280
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 18:06:56 +0000 (18:06 +0000)]
Fix 80 column violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25279
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 18:00:54 +0000 (18:00 +0000)]
Enable X86 support for savestack/restorestack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25278
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 17:52:03 +0000 (17:52 +0000)]
implement stacksave/stackrestore on PPC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25277
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 17:48:44 +0000 (17:48 +0000)]
If a target specified a stack pointer with setStackPointerRegisterToSaveRestore,
lower STACKSAVE/STACKRESTORE into a copy from/to that register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25276
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 17:47:52 +0000 (17:47 +0000)]
Provide an interface for Targets to specify their stack pointer register
for llvm.stacksave/restore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25275
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 13 Jan 2006 10:28:25 +0000 (10:28 +0000)]
don't be a doofus - this fixes storing bools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:50:02 +0000 (02:50 +0000)]
Compile llvm.stacksave/restore into STACKSAVE/STACKRESTORE nodes, and allow
targets to custom expand them as they desire.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:42:53 +0000 (02:42 +0000)]
expand unsupported stacksave/stackrestore nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:40:58 +0000 (02:40 +0000)]
new nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25271
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:39:42 +0000 (02:39 +0000)]
add stacksave/stackrestore nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:25:08 +0000 (02:25 +0000)]
testcase for the llvm.stacksave/llvm.stackrestore intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:24:42 +0000 (02:24 +0000)]
Add "support" for stacksave/stackrestore to the dag isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:22:08 +0000 (02:22 +0000)]
Add "support" for the llvm.stacksave/stackrestore intrinsics, this is
used by the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:15:39 +0000 (02:15 +0000)]
Add recognition and verification of new llvm.stacksave/llvm.stackrestore intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25266
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:15:02 +0000 (02:15 +0000)]
add new llvm.stacksave/llvm.stackrestore intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 02:03:13 +0000 (02:03 +0000)]
Add llvm.stacksave and llvm.stackrestore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25264
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 01:20:42 +0000 (01:20 +0000)]
Minor update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25263
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Jan 2006 01:20:27 +0000 (01:20 +0000)]
void* is not legal in LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25262
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 01:17:24 +0000 (01:17 +0000)]
More typo's. I need new eye glasses...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25261
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 01:06:49 +0000 (01:06 +0000)]
Oops. Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25260
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 01:03:02 +0000 (01:03 +0000)]
Fix a SETCC / BRCOND folding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25259
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jan 2006 01:02:22 +0000 (01:02 +0000)]
Test case for a SETCC / BRCOND folding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25258
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Jan 2006 22:54:21 +0000 (22:54 +0000)]
Fix sint_to_fp (fild*) support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Jan 2006 20:22:43 +0000 (20:22 +0000)]
Add a simple missing fold to produce this:
subfic r3, r2, 33
instead of this:
subfic r2, r2, 32
addi r3, r2, 1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25255
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Jan 2006 19:36:31 +0000 (19:36 +0000)]
Specify transformation from GlobalAddress to TargetGlobalAddress and
ExternalSymbol to TargetExternalSymbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25253
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 12 Jan 2006 19:35:54 +0000 (19:35 +0000)]
Allow transformation from GlobalAddress to TargetGlobalAddress and
ExternalSymbol to TargetExternalSymbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25252
91177308-0d34-0410-b5e6-
96231b3b80d8