oota-llvm.git
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

18 years agoIf using __main, emit global ctor/dtor list like any other global
Chris Lattner [Thu, 12 Jan 2006 19:17:23 +0000 (19:17 +0000)]
If using __main, emit global ctor/dtor list like any other global

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25251 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't create rotate instructions in unsupported types, because we don't have
Chris Lattner [Thu, 12 Jan 2006 18:57:33 +0000 (18:57 +0000)]
Don't create rotate instructions in unsupported types, because we don't have
promote/expand code yet.  This fixes the 177.mesa failure on PPC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25250 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix branches on FP compares
Chris Lattner [Thu, 12 Jan 2006 17:05:32 +0000 (17:05 +0000)]
Fix branches on FP compares

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25249 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPatch #10 from Saem:
Chris Lattner [Thu, 12 Jan 2006 16:48:23 +0000 (16:48 +0000)]
Patch #10 from Saem:
"Extracts a few more methods, reduces some redundancy in the code at
the same time."

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25248 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoX86ISD::SETCC (e.g. SETEr) produces a flag (so multiple SETCC can be
Evan Cheng [Thu, 12 Jan 2006 08:27:59 +0000 (08:27 +0000)]
X86ISD::SETCC (e.g. SETEr) produces a flag (so multiple SETCC can be
linked together).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25247 91177308-0d34-0410-b5e6-96231b3b80d8

18 years ago* Materialize GlobalAddress and ExternalSym with MOV32ri rather than
Evan Cheng [Thu, 12 Jan 2006 07:56:47 +0000 (07:56 +0000)]
* Materialize GlobalAddress and ExternalSym with MOV32ri rather than
  LEA32r.
* Do not lower GlobalAddress to TargetGlobalAddress. Let isel does it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25246 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGlobalAddress -> TargetGlobalAddress; ExternalSymbol -> TargetExternalSymbol
Evan Cheng [Thu, 12 Jan 2006 07:54:57 +0000 (07:54 +0000)]
GlobalAddress -> TargetGlobalAddress; ExternalSymbol -> TargetExternalSymbol

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25245 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix a bug in my previous checkin
Chris Lattner [Thu, 12 Jan 2006 07:38:04 +0000 (07:38 +0000)]
fix a bug in my previous checkin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25244 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGive V8ISD nodes symbolic names in dumps
Chris Lattner [Thu, 12 Jan 2006 07:31:15 +0000 (07:31 +0000)]
Give V8ISD nodes symbolic names in dumps

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25243 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoConvert the verifier over to use ETForest instead of DominatorSet. Patch
Chris Lattner [Thu, 12 Jan 2006 06:17:59 +0000 (06:17 +0000)]
Convert the verifier over to use ETForest instead of DominatorSet.  Patch
by Daniel Berlin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25242 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agosabre's (correct) fix means these guys need to be flagged as well (else
Duraid Madina [Thu, 12 Jan 2006 03:28:40 +0000 (03:28 +0000)]
sabre's (correct) fix means these guys need to be flagged as well (else
the scheduler will complain)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25241 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoverily, sabre did leave
Duraid Madina [Thu, 12 Jan 2006 02:50:34 +0000 (02:50 +0000)]
verily, sabre did leave

and yea! Saem said "ARRR."

meanwhile, the pinksias and the campfires and the ET forests glowed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25240 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoahem :)
Chris Lattner [Thu, 12 Jan 2006 02:05:36 +0000 (02:05 +0000)]
ahem :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25239 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agothese cases are autogenerated
Chris Lattner [Thu, 12 Jan 2006 02:01:45 +0000 (02:01 +0000)]
these cases are autogenerated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25238 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoremove dead code
Chris Lattner [Thu, 12 Jan 2006 01:54:15 +0000 (01:54 +0000)]
remove dead code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25237 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGoodbye PPC pattern isel. You have served us well, but it is now time for
Chris Lattner [Thu, 12 Jan 2006 01:46:07 +0000 (01:46 +0000)]
Goodbye PPC pattern isel.  You have served us well, but it is now time for
you to ride off into the sunset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25236 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix an itanium call lowering bug for duraid
Chris Lattner [Thu, 12 Jan 2006 01:33:08 +0000 (01:33 +0000)]
Fix an itanium call lowering bug for duraid

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25235 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoinvert the sense of this switch and its name
Chris Lattner [Thu, 12 Jan 2006 01:28:56 +0000 (01:28 +0000)]
invert the sense of this switch and its name

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25234 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMissed a spot.
Nate Begeman [Wed, 11 Jan 2006 23:20:28 +0000 (23:20 +0000)]
Missed a spot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25233 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded ROTL and ROTR.
Evan Cheng [Wed, 11 Jan 2006 23:20:05 +0000 (23:20 +0000)]
Added ROTL and ROTR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25232 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix an off-by-one error that Nate's eagle eyes caught
Chris Lattner [Wed, 11 Jan 2006 23:16:29 +0000 (23:16 +0000)]
Fix an off-by-one error that Nate's eagle eyes caught

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25231 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse the auto-insert BuildMI constructor to avoid an explicit insert. No
Chris Lattner [Wed, 11 Jan 2006 23:07:57 +0000 (23:07 +0000)]
Use the auto-insert BuildMI constructor to avoid an explicit insert.  No
functionality change, just code cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25230 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoIf a function has a non-zero sized frame, use an add to adjust the stack
Chris Lattner [Wed, 11 Jan 2006 23:03:54 +0000 (23:03 +0000)]
If a function has a non-zero sized frame, use an add to adjust the stack
pointer in the epilog, not a load.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25229 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd testcase for rotate by register and rotate by immediate
Nate Begeman [Wed, 11 Jan 2006 22:58:12 +0000 (22:58 +0000)]
Add testcase for rotate by register and rotate by immediate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25228 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSome minor fixes.
Evan Cheng [Wed, 11 Jan 2006 22:16:13 +0000 (22:16 +0000)]
Some minor fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25227 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSupport for MEMCPY and MEMSET.
Evan Cheng [Wed, 11 Jan 2006 22:15:48 +0000 (22:15 +0000)]
Support for MEMCPY and MEMSET.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25226 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSelect DYNAMIC_STACKALLOC
Evan Cheng [Wed, 11 Jan 2006 22:15:18 +0000 (22:15 +0000)]
Select DYNAMIC_STACKALLOC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25225 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow custom lowering of DYNAMIC_STACKALLOC.
Evan Cheng [Wed, 11 Jan 2006 22:14:47 +0000 (22:14 +0000)]
Allow custom lowering of DYNAMIC_STACKALLOC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25224 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoignore register #0
Evan Cheng [Wed, 11 Jan 2006 22:13:48 +0000 (22:13 +0000)]
ignore register #0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25223 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd bswap, rotl, and rotr nodes
Nate Begeman [Wed, 11 Jan 2006 21:21:00 +0000 (21:21 +0000)]
Add bswap, rotl, and rotr nodes
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl

Targets should add rotl/rotr patterns if they have them

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25222 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix calls that need to store values in stack slots, to not copy the stack
Chris Lattner [Wed, 11 Jan 2006 19:55:07 +0000 (19:55 +0000)]
Fix calls that need to store values in stack slots, to not copy the stack
pointer.  This allows us to emit stuff like this:

        li r10, 0
        stw r10, 56(r1)
        or r3, r10, r10
        or r4, r10, r10
        or r5, r10, r10
        or r6, r10, r10
        or r7, r10, r10
        or r8, r10, r10
        or r9, r10, r10
        bl L_bar$stub

instead of this:

        or r2, r1, r1     ;; Extraneous copy.
        li r10, 0
        stw r10, 56(r2)
        or r3, r10, r10
        or r4, r10, r10
        or r5, r10, r10
        or r6, r10, r10
        or r7, r10, r10
        or r8, r10, r10
        or r9, r10, r10
        bl L_bar$stub

wowness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25221 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotblgen does this now
Chris Lattner [Wed, 11 Jan 2006 19:53:22 +0000 (19:53 +0000)]
tblgen does this now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25220 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis is no longer needed
Chris Lattner [Wed, 11 Jan 2006 19:52:46 +0000 (19:52 +0000)]
This is no longer needed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25219 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAlways select target registers to themselves
Chris Lattner [Wed, 11 Jan 2006 19:52:27 +0000 (19:52 +0000)]
Always select target registers to themselves

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25218 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDead FP arguments still use an incoming FP reg. This fixes
Chris Lattner [Wed, 11 Jan 2006 18:21:25 +0000 (18:21 +0000)]
Dead FP arguments still use an incoming FP reg.  This fixes
Regression/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll, which was
distilled from a miscompilation in 252.eon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25217 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase the PPC backend is miscompiling.
Chris Lattner [Wed, 11 Jan 2006 18:15:37 +0000 (18:15 +0000)]
Testcase the PPC backend is miscompiling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25216 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoVisual Studio is feeling left out again.
Jeff Cohen [Wed, 11 Jan 2006 16:21:53 +0000 (16:21 +0000)]
Visual Studio is feeling left out again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25215 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix VC++ compilation error.
Jeff Cohen [Wed, 11 Jan 2006 16:21:23 +0000 (16:21 +0000)]
Fix VC++ compilation error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25214 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPatch #9 from Saem:
Chris Lattner [Wed, 11 Jan 2006 16:14:49 +0000 (16:14 +0000)]
Patch #9 from Saem:

"Cut up the runPasses method into smaller pieces.  The small private
helpers should  be easier to deal with when code shuffling arising
from creating the new specialised batchers, not to mention, they're
much easier to understand.

I inlined them, in case function call overhead would be noticeable --
doubtful."

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25213 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse Evan's outflag stuff to implement V8cmpicc. This allows us to write a
Chris Lattner [Wed, 11 Jan 2006 07:49:38 +0000 (07:49 +0000)]
Use Evan's outflag stuff to implement V8cmpicc.  This allows us to write a
pattern for SUBCCrr, and makes it trivial to add support for SUBCCri, eliminating
an instruction in the common "setcc X, imm" case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25212 91177308-0d34-0410-b5e6-96231b3b80d8