oota-llvm.git
18 years agoAdd BSWAP stuff to intrinsic lowering for CBE & friends.
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

18 years agoFix up 'adding an intrinsic' section a bit, first draft of 'adding a new
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

18 years agofix division! again!! pattern isel, prepare to die.
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

18 years agoSilly Sparc is big endian. If we have to load args out of incoming stack slots
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

18 years agoThis pass has been removed.
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

18 years agoThis pass has never worked correctly. Remove.
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

18 years agoRemove a never-working pass
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

18 years agoPRE is no more
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

18 years agoMake sure that bool,byte and short arguments are the right type when loaded
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

18 years agoThanks to Daniel Berlin's ETForest fix, we can now use it again for the verifier
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

18 years agoInitialize DFSnum's to -1, in case a node is not reachable.
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

18 years agoadd an assert, patch by Daniel Berlin
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

18 years agoAdded spec for insertelement operation.
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

18 years agoET-Forest has issues with unreachable blocks. Temporarily disable verifiers use
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

18 years agoDisable a broken optimization
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

18 years agoDisable two transformations that contribute to bus errors on SparcV8.
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

18 years agoAdded patterns for 8-bit multiply
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

18 years agoType inferencing bug
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

18 years agoexplain that r12 is the stack pointer reg
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

18 years agoDon't print a label for the first MBB in a function.
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

18 years agoUse the default impl of DYNAMIC_STACKALLOC, allowing us to delete some code.
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

18 years agoUse the default lowering of ISD::DYNAMIC_STACKALLOC, delete now dead code.
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

18 years agoHave legalize take care of DYNAMIC_STACKALLOC for us, implement llvm.stacksave/stackr...
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

18 years agoAllow the target to specify 'expand' if they just require the amount to
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

18 years agoImplement DYNAMIC_STACKALLOC for V8
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

18 years agoFix custom lowering of dynamic_stackalloc
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

18 years agoadd a missing break that Reid noticed.
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

18 years agoadd a missing node name
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

18 years agoreorder passes
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

18 years agoToken chain results are not always the first or last result. Consider copyfromreg...
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

18 years agoCleanup IA64ISD, tell the graph drawer what the symbolic names for the enums are.
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

18 years agoChange ET-Forest to automatically recalculate its DFSnum's if too many slow
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

18 years agosilence a warning
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

18 years agoLet the inliner update the callgraph to reflect the changes it makes, instead
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

18 years agoTeach the inliner to update the CallGraph itself, and have it add edges to
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

18 years agoNew testcase for a regression last night: the -inline pass wasn't updating
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

18 years agoTeach inline function how to update the callgraph when it makes changes.
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

18 years agoAdd a new CallGraph::getOrInsertFunction for clients to use when updating
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

18 years agoAdd CallGraph::getOrInsertFunction, to allow clients to update the callgraph
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

18 years agoFunctionPass's cannot do IPO things.
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

18 years agoadd a dump method to CallGraph
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

18 years agoRemove some duplicated code
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

18 years agobswap implementation
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

18 years agoFix generous source of VC++ truncation warnings.
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

18 years agoFix the instructions for adding an intrinsic.
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

18 years agoAdd bswap intrinsics as documented in the Language Reference
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

18 years agoRemove some redundant stuff out of the readme.
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

18 years agoA typo.
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

18 years agotestcase for PR676: http://llvm.cs.uiuc.edu/PR676
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

18 years agoImplement a new InvalidateStructLayoutInfo method and add some comments
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

18 years agoAdd a new InvalidateStructLayoutInfo method and some comments.
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

18 years agoMake the bswap documentation more to sabre's liking!
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

18 years agofix some minor errors
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

18 years agoAdd documentation for the upcoming bswap intrinsics!
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

18 years agoAdded instcombine support for extractelement.
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

18 years agotestcase for PR691
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

18 years agonew testcases for the stackrestore instcombine optimizations
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

18 years agoAdd truncstore i1 patterns.
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

18 years agoit is ok to dce stacksave.
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

18 years agoDo a simple instcombine xforms to delete llvm.stackrestore cases.
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

18 years agoFix a bug in my last X86 checkin, pointed out by cozmic
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

18 years agoSimplify this a tiny bit by using the new IntrinsicInst functionality.
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

18 years agoSimplify the implementations of classof using the new IntrinsicInst classof.
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

18 years agoLHS = X86ISD::CMOVcc LHS, RHS means LHS = RHS if cc. So the operands must be
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

18 years agoAdd some functionality to the IntrinsicInst class and some comments
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

18 years agoPermit inlining functions that contain dynamic allocations now that
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

18 years agoNew testcase that functions with dynamic allocas can be inlined, and are
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

18 years agoIf inlining a call to a function that contains dynamic allocas, wrap the
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

18 years agoUse ClonedCodeInfo to avoid another walk over the inlined code, this this
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

18 years agoUse the ClonedCodeInfo object to avoid scans of the inlined code when
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

18 years agoRefactor a bunch of invoke handling stuff out into a new function
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

18 years agomake DAG isel the default
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

18 years agoAllow the code cloning interfaces to capture some important info about the
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

18 years agoFix a bug I noticed by inspection: if the first instruction in the inlined
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

18 years agoFix 80 column violations
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

18 years agoEnable X86 support for savestack/restorestack
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

18 years agoimplement stacksave/stackrestore on PPC
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

18 years agoIf a target specified a stack pointer with setStackPointerRegisterToSaveRestore,
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

18 years agoProvide an interface for Targets to specify their stack pointer register
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

18 years agodon't be a doofus - this fixes storing bools
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

18 years agoCompile llvm.stacksave/restore into STACKSAVE/STACKRESTORE nodes, and allow
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

18 years agoexpand unsupported stacksave/stackrestore nodes
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

18 years agonew nodes
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

18 years agoadd stacksave/stackrestore nodes
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

18 years agotestcase for the llvm.stacksave/llvm.stackrestore intrinsics.
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

18 years agoAdd "support" for stacksave/stackrestore to the dag isel
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

18 years agoAdd "support" for the llvm.stacksave/stackrestore intrinsics, this is
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

18 years agoAdd recognition and verification of new llvm.stacksave/llvm.stackrestore intrinsics
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

18 years agoadd new llvm.stacksave/llvm.stackrestore intrinsics
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

18 years agoAdd llvm.stacksave and llvm.stackrestore.
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

18 years agoMinor update.
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

18 years agovoid* is not legal in LLVM.
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

18 years agoMore typo's. I need new eye glasses...
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

18 years agoOops. Typo.
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

18 years agoFix a SETCC / BRCOND folding bug.
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

18 years agoTest case for a SETCC / BRCOND folding bug.
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

18 years agoFix sint_to_fp (fild*) support.
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

18 years agoAdd a simple missing fold to produce this:
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

18 years agoSpecify transformation from GlobalAddress to TargetGlobalAddress and
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

18 years agoAllow transformation from GlobalAddress to TargetGlobalAddress and
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