oota-llvm.git
14 years agoRemove bogus Updated line.
Dan Gohman [Fri, 26 Feb 2010 21:15:49 +0000 (21:15 +0000)]
Remove bogus Updated line.

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

14 years agoUse the right floating point load/store instructions in PPCInstrInfo::foldMemoryOpera...
Jakob Stoklund Olesen [Fri, 26 Feb 2010 21:09:24 +0000 (21:09 +0000)]
Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl().

The PowerPC floating point registers can represent both f32 and f64 via the
two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to
allow cross-class coalescing. This coalescing only affects whether registers
are spilled as f32 or f64.

Spill slots must be accessed with load/store instructions corresponding to the
class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking
at the instruction opcode which is wrong.

X86 has similar floating point register classes, but doesn't try to fold
memory operands, so there is no problem there.

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

14 years agoRemove dead code
Jakob Stoklund Olesen [Fri, 26 Feb 2010 21:09:20 +0000 (21:09 +0000)]
Remove dead code

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

14 years agoRemove REQUIRES_EH from the suggested set of make variables, since users can
Jeffrey Yasskin [Fri, 26 Feb 2010 20:43:33 +0000 (20:43 +0000)]
Remove REQUIRES_EH from the suggested set of make variables, since users can
build with exceptions even if LLVM is built without.

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

14 years agoReplace a temporary std::string with SmallString.
Benjamin Kramer [Fri, 26 Feb 2010 20:28:29 +0000 (20:28 +0000)]
Replace a temporary std::string with SmallString.

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

14 years agoFix typos in comments.
Dan Gohman [Fri, 26 Feb 2010 20:18:32 +0000 (20:18 +0000)]
Fix typos in comments.

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

14 years agoDelete empty directories.
Dan Gohman [Fri, 26 Feb 2010 20:16:58 +0000 (20:16 +0000)]
Delete empty directories.

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

14 years agoMove dbg_value generation to target-independent FastISel,
Dale Johannesen [Fri, 26 Feb 2010 20:01:55 +0000 (20:01 +0000)]
Move dbg_value generation to target-independent FastISel,
as X86 is currently the only FastISel target.  Per review.

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

14 years agoFurther constify MDNode* references.
Dale Johannesen [Fri, 26 Feb 2010 19:39:56 +0000 (19:39 +0000)]
Further constify MDNode* references.

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

14 years agoAdd type printing for Metadata pseudo.
Dale Johannesen [Fri, 26 Feb 2010 19:38:59 +0000 (19:38 +0000)]
Add type printing for Metadata pseudo.

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

14 years agoMove the EnableFullLoadPRE flag from a separate command-line option to an
Bob Wilson [Fri, 26 Feb 2010 19:09:47 +0000 (19:09 +0000)]
Move the EnableFullLoadPRE flag from a separate command-line option to an
argument of createGVNPass and set it automatically for -O3.

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

14 years agodisable-mem2reg and disable-gvn options should not be used by the driver.
Sanjiv Gupta [Fri, 26 Feb 2010 18:38:44 +0000 (18:38 +0000)]
disable-mem2reg and disable-gvn options should not be used by the driver.

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

14 years agoRemove unused "NoPRE" parameter in GVN and createGVNPass().
Bob Wilson [Fri, 26 Feb 2010 18:35:19 +0000 (18:35 +0000)]
Remove unused "NoPRE" parameter in GVN and createGVNPass().

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

14 years agopass in more section kinds, enough to get the .align 0x90
Chris Lattner [Fri, 26 Feb 2010 18:32:26 +0000 (18:32 +0000)]
pass in more section kinds, enough to get the .align 0x90
stuff to emit optimal nops in the right places.

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

14 years agoThe cloner has nothing to do if any of the main or ISR entrypoints are not
Sanjiv Gupta [Fri, 26 Feb 2010 18:32:18 +0000 (18:32 +0000)]
The cloner has nothing to do if any of the main or ISR entrypoints are not
present in the module.

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

14 years agofix PR6435 another bug from the MallocInst elimination work.
Chris Lattner [Fri, 26 Feb 2010 18:23:13 +0000 (18:23 +0000)]
fix PR6435 another bug from the MallocInst elimination work.

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

14 years agoSet svn:keywords property on docs/Packaging.html.
Jeffrey Yasskin [Fri, 26 Feb 2010 18:07:00 +0000 (18:07 +0000)]
Set svn:keywords property on docs/Packaging.html.

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

14 years agoAdd to the packaging advice.
Jeffrey Yasskin [Fri, 26 Feb 2010 18:03:43 +0000 (18:03 +0000)]
Add to the packaging advice.

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

14 years agoReapply things reverted back in 97220, with the fixed test case.
Sanjiv Gupta [Fri, 26 Feb 2010 17:59:28 +0000 (17:59 +0000)]
Reapply things reverted back in 97220, with the fixed test case.

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

14 years agomovl is a cheaper way to materialize 0 without clobbering EFLAGS than movabsq.
Dan Gohman [Fri, 26 Feb 2010 16:49:27 +0000 (16:49 +0000)]
movl is a cheaper way to materialize 0 without clobbering EFLAGS than movabsq.

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

14 years agoFix XCoreTargetLowering::isLegalAddressingMode() to handle VoidTy.
Richard Osborne [Fri, 26 Feb 2010 16:44:51 +0000 (16:44 +0000)]
Fix XCoreTargetLowering::isLegalAddressingMode() to handle VoidTy.
Previously LoopStrengthReduce would sometimes be unable to find
a legal formula, causing an assertion failure.

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

14 years agoRevert r97211 and r97213 to get the build green again.
Chandler Carruth [Fri, 26 Feb 2010 08:43:09 +0000 (08:43 +0000)]
Revert r97211 and r97213 to get the build green again.

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

14 years agoadd some helpful comments to the emitter
Chris Lattner [Fri, 26 Feb 2010 08:15:02 +0000 (08:15 +0000)]
add some helpful comments to the emitter

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

14 years agoswitch from my nice hashtable based merging solution to a
Chris Lattner [Fri, 26 Feb 2010 08:08:41 +0000 (08:08 +0000)]
switch from my nice hashtable based merging solution to a
gross little neighbor merging implementation.  This one has
the benefit of not violating the ordering of patterns, so it
generates code that passes tests again.

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

14 years agofix same bug in CheckChainCompatibleMatcher::isEqualImpl
Chris Lattner [Fri, 26 Feb 2010 08:06:02 +0000 (08:06 +0000)]
fix same bug in CheckChainCompatibleMatcher::isEqualImpl

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

14 years agofix a nasty bug in CheckTypeMatcher::isEqualImpl
Chris Lattner [Fri, 26 Feb 2010 08:05:36 +0000 (08:05 +0000)]
fix a nasty bug in CheckTypeMatcher::isEqualImpl

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

14 years agofinish off the factoring optimization along the lines of the
Chris Lattner [Fri, 26 Feb 2010 07:36:37 +0000 (07:36 +0000)]
finish off the factoring optimization along the lines of the
current design.  This generates a matcher that successfully
runs, but it turns out that the factoring we're doing violates
the ordering of patterns, so we end up matching (e.g.) movups
where we want movaps.  This won't due, but I'll address this in
a follow on patch.  It's nice to not be on by default yet! :)

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

14 years agoadd a new setNumChildren method for resizing scopes. Tweak getHash() so
Chris Lattner [Fri, 26 Feb 2010 07:35:27 +0000 (07:35 +0000)]
add a new setNumChildren method for resizing scopes.  Tweak getHash() so
that we never return a tombstone value, which (thankfully) triggers an
assert in densemap.

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

14 years agoCurrently in LLVM, names of libcalls are assigned during TargetLowering
Sanjiv Gupta [Fri, 26 Feb 2010 07:31:15 +0000 (07:31 +0000)]
Currently in LLVM, names of libcalls are assigned during TargetLowering
object construction. There is no provision to change them when the
code for a function generated.
So we have to change these names while printing assembly.

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

14 years agofix the matcher in the presence of multiple scopes: we need to save
Chris Lattner [Fri, 26 Feb 2010 07:28:20 +0000 (07:28 +0000)]
fix the matcher in the presence of multiple scopes: we need to save
and restore the entire matcher stack by value.  This is because children
we're testing could do moveparent or other things besides just
scribbling on additions to the stack.

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

14 years agoBefore converting an operand to mem, check if it is legal to do so.
Sanjiv Gupta [Fri, 26 Feb 2010 07:27:35 +0000 (07:27 +0000)]
Before converting an operand to mem, check if it is legal to do so.

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

14 years agothis file lacks a run line!
Chris Lattner [Fri, 26 Feb 2010 02:40:57 +0000 (02:40 +0000)]
this file lacks a run line!

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

14 years agoFix a typo.
Dan Gohman [Fri, 26 Feb 2010 02:15:17 +0000 (02:15 +0000)]
Fix a typo.

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

14 years agoDelete a bunch of redundant predicates.
Dan Gohman [Fri, 26 Feb 2010 01:14:30 +0000 (01:14 +0000)]
Delete a bunch of redundant predicates.

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

14 years agoFix comments.
Bill Wendling [Fri, 26 Feb 2010 01:12:52 +0000 (01:12 +0000)]
Fix comments.

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

14 years agoGive packagers some advice about how to build LLVM so it's useful to
Jeffrey Yasskin [Fri, 26 Feb 2010 00:54:42 +0000 (00:54 +0000)]
Give packagers some advice about how to build LLVM so it's useful to
the most users.

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

14 years agoAdd another (and hopefully the last) exception case, where once we recalculate
Bill Wendling [Fri, 26 Feb 2010 00:43:54 +0000 (00:43 +0000)]
Add another (and hopefully the last) exception case, where once we recalculate
the alignment requirement, if it no longer makes the TType base offset overflow
into extra bytes, then we need to pad to those bytes ourselves.

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

14 years agoAnd should use the correct variable.
Bill Wendling [Fri, 26 Feb 2010 00:24:25 +0000 (00:24 +0000)]
And should use the correct variable.

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

14 years agoGot assertion check backwards.
Bill Wendling [Fri, 26 Feb 2010 00:22:42 +0000 (00:22 +0000)]
Got assertion check backwards.

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

14 years agoCatch a corner case where adding the padding to the "TType base offset" field
Bill Wendling [Thu, 25 Feb 2010 23:52:44 +0000 (23:52 +0000)]
Catch a corner case where adding the padding to the "TType base offset" field
will eliminate the need for padding in the "Call site table length". E.g., if
we have this:

    GCC_except_table1:
    Lexception1:
        .byte   0xff  ## @LPStart Encoding = omit
        .byte   0x9b  ## @TType Encoding = indirect pcrel sdata4
        .byte   0x7f  ## @TType base offset
        .byte   0x03  ## Call site Encoding = udata4
        .byte   0x89  ## Call site table length

with padding of 1. We want to emit the padding like this:

    GCC_except_table1:
    Lexception1:
        .byte   0xff  ## @LPStart Encoding = omit
        .byte   0x9b  ## @TType Encoding = indirect pcrel sdata4
        .byte   0xff  ## @TType base offset
        .space  1,0   ## Padding
        .byte   0x03  ## Call site Encoding = udata4
        .byte   0x89  ## Call site table length

and not with padding on the "Call site table length" entry.

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

14 years agoFix a few more typos.
Dan Gohman [Thu, 25 Feb 2010 23:51:27 +0000 (23:51 +0000)]
Fix a few more typos.

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

14 years agoFix a typo.
Dan Gohman [Thu, 25 Feb 2010 23:41:41 +0000 (23:41 +0000)]
Fix a typo.

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

14 years agoAdded SAFECode (safecode) to the list of projects to automatically configure.
John Criswell [Thu, 25 Feb 2010 22:57:19 +0000 (22:57 +0000)]
Added SAFECode (safecode) to the list of projects to automatically configure.

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

14 years agorewrite OptimizeGlobalAddressOfMalloc to fix PR6422, some bugs
Chris Lattner [Thu, 25 Feb 2010 22:33:52 +0000 (22:33 +0000)]
rewrite OptimizeGlobalAddressOfMalloc to fix PR6422, some bugs
introduced when mallocinst was eliminated.

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

14 years agotests: Propogate the HOME environment variable through to tests. I'm ambivalent
Daniel Dunbar [Thu, 25 Feb 2010 22:09:09 +0000 (22:09 +0000)]
tests: Propogate the HOME environment variable through to tests. I'm ambivalent
about this, but it can be useful for users who use ccache, since the LLVMC tests
are fond of calling gcc.

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

14 years agoFix HTML.
Bill Wendling [Thu, 25 Feb 2010 21:23:24 +0000 (21:23 +0000)]
Fix HTML.

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

14 years agoMake comment more meaningful.
Bill Wendling [Thu, 25 Feb 2010 21:19:47 +0000 (21:19 +0000)]
Make comment more meaningful.

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

14 years agoAdd svn:ignore.
Dan Gohman [Thu, 25 Feb 2010 20:56:25 +0000 (20:56 +0000)]
Add svn:ignore.

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

14 years agoFix ExpandVectorBuildThroughStack for the case where the
Dan Gohman [Thu, 25 Feb 2010 20:30:49 +0000 (20:30 +0000)]
Fix ExpandVectorBuildThroughStack for the case where the
operands are themselves vectors. Based on a patch by
Micah Villmow for PR6338.

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

14 years agoAdded the following 32-bit Thumb instructions for disassembly only: SMC, RFE,
Johnny Chen [Thu, 25 Feb 2010 20:25:24 +0000 (20:25 +0000)]
Added the following 32-bit Thumb instructions for disassembly only: SMC, RFE,
and SRS.

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

14 years agoAdded the 32-bit Thumb instructions (BXJ) for disassembly only.
Johnny Chen [Thu, 25 Feb 2010 19:05:29 +0000 (19:05 +0000)]
Added the 32-bit Thumb instructions (BXJ) for disassembly only.

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

14 years agochange the scope node to include a list of children to be checked
Chris Lattner [Thu, 25 Feb 2010 19:00:39 +0000 (19:00 +0000)]
change the scope node to include a list of children to be checked
instead of to have a chained series of scope nodes.  This makes
the generated table smaller, improves the efficiency of the
interpreter, and make the factoring optimization much more
reasonable to implement.

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

14 years agoAdded the 32-bit Thumb instructions (MRS and MSR) for disassembly only.
Johnny Chen [Thu, 25 Feb 2010 18:46:43 +0000 (18:46 +0000)]
Added the 32-bit Thumb instructions (MRS and MSR) for disassembly only.

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

14 years agoThis is a patch to the assembler frontend to detect when aligning a text
Kevin Enderby [Thu, 25 Feb 2010 18:46:04 +0000 (18:46 +0000)]
This is a patch to the assembler frontend to detect when aligning a text
section with TextAlignFillValue and calls EmitCodeAlignment() instead of
calling EmitValueToAlignment().  This allows x86 assembly code to be aligned
with optimal nops.

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

14 years agostkrc is gone.
Dan Gohman [Thu, 25 Feb 2010 18:18:49 +0000 (18:18 +0000)]
stkrc is gone.

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

14 years agoAdd the union keyword.
Dan Gohman [Thu, 25 Feb 2010 18:17:58 +0000 (18:17 +0000)]
Add the union keyword.

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

14 years agoMerge the advanced getelementptr FAQ into the regular
Dan Gohman [Thu, 25 Feb 2010 18:16:03 +0000 (18:16 +0000)]
Merge the advanced getelementptr FAQ into the regular
getelementptr FAQ.

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

14 years agoFix TextAlignFillValue in a few places
Daniel Dunbar [Thu, 25 Feb 2010 18:07:10 +0000 (18:07 +0000)]
Fix TextAlignFillValue in a few places

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

14 years agoAdd simple script for finding most-recent-rev-before-N in a git-svn repo; useful
Daniel Dunbar [Thu, 25 Feb 2010 18:07:07 +0000 (18:07 +0000)]
Add simple script for finding most-recent-rev-before-N in a git-svn repo; useful
when bisecting multiple repos in sync.

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

14 years agoAdded the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,
Johnny Chen [Thu, 25 Feb 2010 17:51:03 +0000 (17:51 +0000)]
Added the following 16-bit Thumb instructions for disassembly only: YIELD, WFE,
WFI, SEV, SETEND.

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

14 years agoremove a dead PatLeaf, I previously changed all uses to use -1 instead.
Chris Lattner [Thu, 25 Feb 2010 17:39:34 +0000 (17:39 +0000)]
remove a dead PatLeaf, I previously changed all uses to use -1 instead.

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

14 years agoFix a typo.
Dan Gohman [Thu, 25 Feb 2010 16:51:31 +0000 (16:51 +0000)]
Fix a typo.

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

14 years agoClarify the description of pointer types, and move the
Dan Gohman [Thu, 25 Feb 2010 16:50:07 +0000 (16:50 +0000)]
Clarify the description of pointer types, and move the
address space content to its own paragraph.

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

14 years agoTeach the constant folder about union types.
Dan Gohman [Thu, 25 Feb 2010 16:45:19 +0000 (16:45 +0000)]
Teach the constant folder about union types.

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

14 years agoRemove code which assumes it knows how vectors are stored in memory.
Dan Gohman [Thu, 25 Feb 2010 16:05:33 +0000 (16:05 +0000)]
Remove code which assumes it knows how vectors are stored in memory.

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

14 years agoAdd more information to the getSizeOf comment.
Dan Gohman [Thu, 25 Feb 2010 15:55:28 +0000 (15:55 +0000)]
Add more information to the getSizeOf comment.

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

14 years agoRemove this paragraph. Vectors may not always have the same layout as
Dan Gohman [Thu, 25 Feb 2010 15:53:42 +0000 (15:53 +0000)]
Remove this paragraph. Vectors may not always have the same layout as
arrays now.

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

14 years agoRevert r97064. Duncan pointed out that bitcasts are defined in
Dan Gohman [Thu, 25 Feb 2010 15:20:39 +0000 (15:20 +0000)]
Revert r97064. Duncan pointed out that bitcasts are defined in
terms of store and load, which means bitcasting between scalar
integer and vector has endian-specific results, which undermines
this whole approach.

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

14 years agoMake the side-numbering of instructions used by metadata (which is needed to
Nick Lewycky [Thu, 25 Feb 2010 08:30:17 +0000 (08:30 +0000)]
Make the side-numbering of instructions used by metadata (which is needed to
keep track of instructions that return void) per-function. This fixes PR5278.

This breaks backwards compatibility with the metadata format. That's okay
because we haven't released the metadata bitcode yet.

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

14 years agoImplement the first half of redundancy factoring: efficiently
Chris Lattner [Thu, 25 Feb 2010 07:45:24 +0000 (07:45 +0000)]
Implement the first half of redundancy factoring: efficiently
splitting all the patterns under scope nodes into equality sets
based on their first node.  The second step is to rewrite the
graph info a form that exposes the sharing.  Before I do this,
I want to redesign the Scope node.

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

14 years agoMake LoopSimplify change conditional branches in loop exiting blocks
Dan Gohman [Thu, 25 Feb 2010 06:57:05 +0000 (06:57 +0000)]
Make LoopSimplify change conditional branches in loop exiting blocks
which branch on undef to branch on a boolean constant for the edge
exiting the loop. This helps ScalarEvolution compute trip counts for
loops.

Teach ScalarEvolution to recognize single-value PHIs, when safe, and
ForgetSymbolicName to forget such single-value PHI nodes as apprpriate
in ForgetSymbolicName.

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

14 years agofactor the print method better.
Chris Lattner [Thu, 25 Feb 2010 06:53:39 +0000 (06:53 +0000)]
factor the print method better.

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

14 years agoDump the presence of attached metadata even if we don't know what it is. This
Nick Lewycky [Thu, 25 Feb 2010 06:53:04 +0000 (06:53 +0000)]
Dump the presence of attached metadata even if we don't know what it is. This
format is not parsable, even if the module is legal. To get parsable output,
dump the module instead of the function or smaller, since metadata kind are
attached to the module (not the context).

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

14 years agoadd methods to do equality checks and get hashes of Matchers
Chris Lattner [Thu, 25 Feb 2010 06:49:58 +0000 (06:49 +0000)]
add methods to do equality checks and get hashes of Matchers

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

14 years agoModernize comment.
Nick Lewycky [Thu, 25 Feb 2010 06:39:10 +0000 (06:39 +0000)]
Modernize comment.

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

14 years agoCorrect whitespace.
Nick Lewycky [Thu, 25 Feb 2010 06:38:51 +0000 (06:38 +0000)]
Correct whitespace.

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

14 years agoTry r96559 for the third time. This time the shared library is only built if
Jeffrey Yasskin [Thu, 25 Feb 2010 06:34:33 +0000 (06:34 +0000)]
Try r96559 for the third time.  This time the shared library is only built if
--enable-shared is passed to configure.

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

14 years agoEach field of auxiliary debug entry is only 1 byte long.
Sanjiv Gupta [Thu, 25 Feb 2010 03:54:49 +0000 (03:54 +0000)]
Each field of auxiliary debug entry is only 1 byte long.

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

14 years agoAdded tNOP for disassembly only.
Johnny Chen [Thu, 25 Feb 2010 03:28:51 +0000 (03:28 +0000)]
Added tNOP for disassembly only.

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

14 years agoTruncate from i64 to i32 is "free" on x86-32, because it involves
Dan Gohman [Thu, 25 Feb 2010 03:04:36 +0000 (03:04 +0000)]
Truncate from i64 to i32 is "free" on x86-32, because it involves
just discarding one of the registers.

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

14 years agoRevert this patch for the time being. Needs more testing.
Scott Michel [Thu, 25 Feb 2010 02:32:54 +0000 (02:32 +0000)]
Revert this patch for the time being. Needs more testing.

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

14 years agoAdded tSVC and tTRAP for disassembly only.
Johnny Chen [Thu, 25 Feb 2010 02:21:11 +0000 (02:21 +0000)]
Added tSVC and tTRAP for disassembly only.

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

14 years agoformatting.
Chris Lattner [Thu, 25 Feb 2010 02:09:00 +0000 (02:09 +0000)]
formatting.

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

14 years agorename fooMatcherNode to fooMatcher.
Chris Lattner [Thu, 25 Feb 2010 02:04:40 +0000 (02:04 +0000)]
rename fooMatcherNode to fooMatcher.

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

14 years agoadd some noop code to push it out of my tree.
Chris Lattner [Thu, 25 Feb 2010 01:57:41 +0000 (01:57 +0000)]
add some noop code to push it out of my tree.

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

14 years agorename PushMatcherNode -> ScopeMatcherNode to more accurately
Chris Lattner [Thu, 25 Feb 2010 01:56:48 +0000 (01:56 +0000)]
rename PushMatcherNode -> ScopeMatcherNode to more accurately
reflect what it does.  Switch the sense of the Next and the Check
arms to be more logical.  No functionality change.

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

14 years agoLarge stack frame patch for the CellSPU: handle stack frames that exceed 8176
Scott Michel [Thu, 25 Feb 2010 01:53:17 +0000 (01:53 +0000)]
Large stack frame patch for the CellSPU: handle stack frames that exceed 8176
(511*16) bytes register displacement (D-form).

NOTE: This is a potential headache, given the SPU's local core limitations,
allowing the software developer to commit stack overrun suicide unknowingly.
Also, large SPU stack frames will cause code size explosion. But, one presumes
that the software developer knows what they're doing...

Contributed by Kalle.Raiskila@nokia.com, edited slightly before commit.

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

14 years agoFilter the future all-of-llvm shared library out of the llvm-config
Jeffrey Yasskin [Thu, 25 Feb 2010 01:21:38 +0000 (01:21 +0000)]
Filter the future all-of-llvm shared library out of the llvm-config
results.  I'm checking this in before the shared library so that I can
tell if it breaks anything on its own.

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

14 years agoMC'ize padding when padding the ULEB128 value.
Bill Wendling [Thu, 25 Feb 2010 00:24:52 +0000 (00:24 +0000)]
MC'ize padding when padding the ULEB128 value.

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

14 years agoadd a fixme for an experiment that defeated me for the time being.
Chris Lattner [Thu, 25 Feb 2010 00:03:03 +0000 (00:03 +0000)]
add a fixme for an experiment that defeated me for the time being.

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

14 years agoLLVM puts padding bytes in the __gcc_except_tab section after the
Bill Wendling [Wed, 24 Feb 2010 23:34:35 +0000 (23:34 +0000)]
LLVM puts padding bytes in the __gcc_except_tab section after the
GCC_except_table label but before the Lexception, which the FDE references.
This causes problems as the FDE does not point to the start of an LSDA chunk.

Use an unnormalized uleb128 for the call-site table length that includes the
padding.

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

14 years agofix a bug I introduced by checking the wrong node's VT in OPC_CheckChildXType
Chris Lattner [Wed, 24 Feb 2010 22:52:52 +0000 (22:52 +0000)]
fix a bug I introduced by checking the wrong node's VT in OPC_CheckChildXType

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

14 years agoclean up various VT manipulations, patch by Micah Villmow! PR6337
Chris Lattner [Wed, 24 Feb 2010 22:44:06 +0000 (22:44 +0000)]
clean up various VT manipulations, patch by Micah Villmow! PR6337

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

14 years agoCreate a stack frame on ARM when
Jakob Stoklund Olesen [Wed, 24 Feb 2010 22:43:17 +0000 (22:43 +0000)]
Create a stack frame on ARM when

- Function uses all scratch registers AND
- Function does not use any callee saved registers AND
- Stack size is too big to address with immediate offsets.

In this case a register must be scavenged to calculate the address of a stack
object, and the scavenger needs a spare register or emergency spill slot.

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

14 years agofix PR5954, patch by Roman Divacky.
Chris Lattner [Wed, 24 Feb 2010 22:33:41 +0000 (22:33 +0000)]
fix PR5954, patch by Roman Divacky.

I don't have a great way to test this myself (it's linux/bsd only),
but Roman says it works. :)

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

14 years agoCheck for comparisons of +/- zero when optimizing less-than-or-equal and
Bob Wilson [Wed, 24 Feb 2010 22:15:53 +0000 (22:15 +0000)]
Check for comparisons of +/- zero when optimizing less-than-or-equal and
greater-than-or-equal SELECT_CCs to NEON vmin/vmax instructions.  This is
only allowed when UnsafeFPMath is set or when at least one of the operands
is known to be nonzero.

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

14 years agoMake getTypeSizeInBits work correctly for array types; it should return
Dan Gohman [Wed, 24 Feb 2010 22:05:23 +0000 (22:05 +0000)]
Make getTypeSizeInBits work correctly for array types; it should return
the number of value bits, not the number of bits of allocation for in-memory
storage.

Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and
vectors.

Fix several places in CodeGen which compute offsets into in-memory vectors
to use TargetData information.

This fixes PR1784.

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

14 years agoconvert cycle checker to smallptrset, add comments and make it
Chris Lattner [Wed, 24 Feb 2010 21:34:04 +0000 (21:34 +0000)]
convert cycle checker to smallptrset, add comments and make it
more elegant.

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

14 years agorevert david's patch which does not even build.
Chris Lattner [Wed, 24 Feb 2010 21:25:08 +0000 (21:25 +0000)]
revert david's patch which does not even build.

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

14 years agoUse a SmallPtrSet as suggested by Chris.
David Greene [Wed, 24 Feb 2010 20:59:49 +0000 (20:59 +0000)]
Use a SmallPtrSet as suggested by Chris.

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