oota-llvm.git
14 years agoFix comment typo.
Duncan Sands [Thu, 29 Apr 2010 12:32:45 +0000 (12:32 +0000)]
Fix comment typo.

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

14 years agoAdd comment.
Evan Cheng [Thu, 29 Apr 2010 06:58:53 +0000 (06:58 +0000)]
Add comment.

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

14 years agoFix PR6910.
Torok Edwin [Thu, 29 Apr 2010 06:43:12 +0000 (06:43 +0000)]
Fix PR6910.

Limit alignment in SmallVector 8, otherwise GCC assumes 16 byte alignment.
opetaror new, and malloc only return 8-byte aligned memory on 32-bit Linux,
which cause a crash if code is compiled with -O3 (or -ftree-vectorize) and some
SmallVector code is vectorized.

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

14 years agoRe-enable 102565 with fixes.
Evan Cheng [Thu, 29 Apr 2010 06:33:38 +0000 (06:33 +0000)]
Re-enable 102565 with fixes.

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

14 years agoFix typo.
Nick Lewycky [Thu, 29 Apr 2010 05:54:29 +0000 (05:54 +0000)]
Fix typo.

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

14 years agoLoad folding tail call should not use ebp / rbp after it's popped. PEI
Evan Cheng [Thu, 29 Apr 2010 05:08:22 +0000 (05:08 +0000)]
Load folding tail call should not use ebp / rbp after it's popped. PEI
should use esp / rsp to reference frame instead.

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

14 years agoAdd support for assemblers that don't support periods in a name
Mon P Wang [Thu, 29 Apr 2010 04:00:56 +0000 (04:00 +0000)]
Add support for assemblers that don't support periods in a name

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

14 years agoTemporarily disable my changes to unbreak the build.
Evan Cheng [Thu, 29 Apr 2010 03:34:19 +0000 (03:34 +0000)]
Temporarily disable my changes to unbreak the build.

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

14 years agoDo not generate duplicate dbg_value instructions for function arguments.
Evan Cheng [Thu, 29 Apr 2010 01:40:30 +0000 (01:40 +0000)]
Do not generate duplicate dbg_value instructions for function arguments.

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

14 years agoFix missing #include.
Dan Gohman [Thu, 29 Apr 2010 01:39:13 +0000 (01:39 +0000)]
Fix missing #include.

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

14 years agoAvoid emitting a dbg_value machineinstr that's not going to be inserted into entry...
Evan Cheng [Thu, 29 Apr 2010 01:23:55 +0000 (01:23 +0000)]
Avoid emitting a dbg_value machineinstr that's not going to be inserted into entry block.

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

14 years agoFrame index can be negative.
Evan Cheng [Thu, 29 Apr 2010 01:13:30 +0000 (01:13 +0000)]
Frame index can be negative.

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

14 years agoCheck Reg against zero.
Evan Cheng [Thu, 29 Apr 2010 00:59:34 +0000 (00:59 +0000)]
Check Reg against zero.

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

14 years ago- Really preserve dbg_value instructions when the register is spilled.
Evan Cheng [Wed, 28 Apr 2010 23:52:26 +0000 (23:52 +0000)]
- Really preserve dbg_value instructions when the register is spilled.
- Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments.

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

14 years agotidy up.
Devang Patel [Wed, 28 Apr 2010 23:24:13 +0000 (23:24 +0000)]
tidy up.

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

14 years agoFixed the word sized Bit Scan Forward/Reverse instructions, they needed the
Kevin Enderby [Wed, 28 Apr 2010 23:20:40 +0000 (23:20 +0000)]
Fixed the word sized Bit Scan Forward/Reverse instructions, they needed the
Operand size override prefix to be part of their records.

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

14 years agoReplace r102368 with code that's less fragile. This creates DBG_VALUE instructions...
Evan Cheng [Wed, 28 Apr 2010 23:08:54 +0000 (23:08 +0000)]
Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.

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

14 years agofix this to work with objdir != srcdir
Chris Lattner [Wed, 28 Apr 2010 22:34:35 +0000 (22:34 +0000)]
fix this to work with objdir != srcdir

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

14 years agoFix comment.
Dale Johannesen [Wed, 28 Apr 2010 22:23:46 +0000 (22:23 +0000)]
Fix comment.

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

14 years agoTest for llvm-gcc checkin 102543.
Dale Johannesen [Wed, 28 Apr 2010 22:17:33 +0000 (22:17 +0000)]
Test for llvm-gcc checkin 102543.

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

14 years agoAdd an option to the Apple-style build to control whether libLTO.dylib should
Bob Wilson [Wed, 28 Apr 2010 21:08:01 +0000 (21:08 +0000)]
Add an option to the Apple-style build to control whether libLTO.dylib should
be installed.  Disable it by default.

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

14 years agoAdd sizes non-floating point versions for the eh sjlj intrinsic expansions.
Jim Grosbach [Wed, 28 Apr 2010 20:33:09 +0000 (20:33 +0000)]
Add sizes non-floating point versions for the eh sjlj intrinsic expansions.

rdar://7895451

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

14 years agoUpdate tests. Now DBG_VALUE instruction is created only if alloca corresponding to...
Devang Patel [Wed, 28 Apr 2010 20:27:48 +0000 (20:27 +0000)]
Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing.

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

14 years agodeclare targets with (void) instead of () since this is a C header.
Chris Lattner [Wed, 28 Apr 2010 20:24:45 +0000 (20:24 +0000)]
declare targets with (void) instead of () since this is a C header.
Patch by Lars R in PR6961.

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

14 years agofix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G),
Chris Lattner [Wed, 28 Apr 2010 20:16:12 +0000 (20:16 +0000)]
fix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G),
metadata references in non-function-local MDNodes should drop to
null.

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

14 years agoPretty print DBG_VALUE machine instructions.
Evan Cheng [Wed, 28 Apr 2010 20:03:13 +0000 (20:03 +0000)]
Pretty print DBG_VALUE machine instructions.
Before:
DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707
Now:
DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707

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

14 years agoRework global alignment computation again. Now we do round up
Chris Lattner [Wed, 28 Apr 2010 19:58:07 +0000 (19:58 +0000)]
Rework global alignment computation again.  Now we do round up
alignment of globals to the preferred alignment, but only when
there is no section specified on the global (by far the common
case).

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

14 years agoWhile lowering dbg_declare, emit DBG_VALUE machine instruction if alloca matching...
Devang Patel [Wed, 28 Apr 2010 19:27:33 +0000 (19:27 +0000)]
While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca matching llvm.dbg.declare intrinsic is missing.

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

14 years agoRecompute kill flags from live intervals after coalescing instead of trying to
Jakob Stoklund Olesen [Wed, 28 Apr 2010 18:28:39 +0000 (18:28 +0000)]
Recompute kill flags from live intervals after coalescing instead of trying to
update them. Computing kill flags is notoriously difficult, and the coalescer
would get it wrong sometimes, and it would completely skip physical registers.

Now we simply remove kill flags based on the live intervals after coalescing.
This is a few percent slower, but now we get correct kill flags for physical
registers after coalescing.

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

14 years agoTeach X86FloatingPoint that a register can be killed multiple times by the same
Jakob Stoklund Olesen [Wed, 28 Apr 2010 18:28:37 +0000 (18:28 +0000)]
Teach X86FloatingPoint that a register can be killed multiple times by the same
instruction.

This instruction would crash the pass:

  INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead>

Now it doesn't.

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

14 years agoUndo most of my previous whitespace fix. I think I like it better this way
Bob Wilson [Wed, 28 Apr 2010 18:18:36 +0000 (18:18 +0000)]
Undo most of my previous whitespace fix.  I think I like it better this way
after all.

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

14 years agoFix inconsistent use of HOSTS and TARGETS variables.
Bob Wilson [Wed, 28 Apr 2010 18:06:27 +0000 (18:06 +0000)]
Fix inconsistent use of HOSTS and TARGETS variables.

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

14 years agoFix whitespace.
Bob Wilson [Wed, 28 Apr 2010 17:50:03 +0000 (17:50 +0000)]
Fix whitespace.

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

14 years agoEnable i16 to i32 promotion by default.
Evan Cheng [Wed, 28 Apr 2010 08:30:49 +0000 (08:30 +0000)]
Enable i16 to i32 promotion by default.

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

14 years agoTry operation promotion only if regular dag combine and target-specific ones failed...
Evan Cheng [Wed, 28 Apr 2010 07:10:39 +0000 (07:10 +0000)]
Try operation promotion only if regular dag combine and target-specific ones failed to do anything.

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

14 years agoUnbreak the build. Only form shld / shrd after legalization.
Evan Cheng [Wed, 28 Apr 2010 02:25:18 +0000 (02:25 +0000)]
Unbreak the build. Only form shld / shrd after legalization.

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

14 years agoUpdate tests.
Evan Cheng [Wed, 28 Apr 2010 01:53:13 +0000 (01:53 +0000)]
Update tests.

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

14 years agoEmit debug info for byval parameters.
Devang Patel [Wed, 28 Apr 2010 01:39:28 +0000 (01:39 +0000)]
Emit debug info for byval parameters.

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

14 years agoRather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL...
Evan Cheng [Wed, 28 Apr 2010 01:18:01 +0000 (01:18 +0000)]
Rather than having a ton of patterns for double shift instructions, e.g. SHLD16rrCL, just perform custom dag combine to form x86 specific dag so they match to the same pattern. This also makes sure later dag combine do not cause isel to miss them (e.g. promoting i16 to i32).

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

14 years agofurther simplify EmitAlignment by eliminating the
Chris Lattner [Wed, 28 Apr 2010 01:08:40 +0000 (01:08 +0000)]
further simplify EmitAlignment by eliminating the
ForcedAlignBits argument, tweaking the single client of it.

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

14 years agoremove a dead argument to EmitAlignment.
Chris Lattner [Wed, 28 Apr 2010 01:06:02 +0000 (01:06 +0000)]
remove a dead argument to EmitAlignment.

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

14 years agoremove some default arguments to EmitAlignment.
Chris Lattner [Wed, 28 Apr 2010 01:05:45 +0000 (01:05 +0000)]
remove some default arguments to EmitAlignment.

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

14 years agoRefactor.
Devang Patel [Wed, 28 Apr 2010 01:03:09 +0000 (01:03 +0000)]
Refactor.

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

14 years agoRewrite the section on trap values to contain a generic description
Dan Gohman [Wed, 28 Apr 2010 00:49:41 +0000 (00:49 +0000)]
Rewrite the section on trap values to contain a generic description
of dependence and define trap values in terms of dependence, instead
of trying to cover the concept with a flurry of ad-hoc rules.

The dependence model isn't complete yet, but it's already much more
rigorous than the description it replaces.

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

14 years agoFix spelling errors.
Dan Gohman [Wed, 28 Apr 2010 00:36:01 +0000 (00:36 +0000)]
Fix spelling errors.

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

14 years agoTweak x86 INC/DEC generation to look for CopyToReg or SETCC. Radar 7866163.
Stuart Hastings [Wed, 28 Apr 2010 00:35:10 +0000 (00:35 +0000)]
Tweak x86 INC/DEC generation to look for CopyToReg or SETCC.  Radar 7866163.

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

14 years agofurther clarify alignment of globals, fix instcombine
Chris Lattner [Wed, 28 Apr 2010 00:31:12 +0000 (00:31 +0000)]
further clarify alignment of globals, fix instcombine
to not increase the alignment of globals with an assigned
alignment and section.

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

14 years agoimprove the global variable alignment description.
Chris Lattner [Wed, 28 Apr 2010 00:13:42 +0000 (00:13 +0000)]
improve the global variable alignment description.
it is not generally valid for targets to overalign
them when an alignment is specified.

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

14 years agoUse MachineOperand::is* predicates.
Devang Patel [Tue, 27 Apr 2010 22:24:37 +0000 (22:24 +0000)]
Use MachineOperand::is* predicates.

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

14 years agoUse isReg(), isImm() and isFPImm().
Devang Patel [Tue, 27 Apr 2010 22:04:41 +0000 (22:04 +0000)]
Use isReg(), isImm() and isFPImm().

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

14 years agoCheck operand type first.
Devang Patel [Tue, 27 Apr 2010 21:49:04 +0000 (21:49 +0000)]
Check operand type first.

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

14 years agoFix obvious typos.
Evan Cheng [Tue, 27 Apr 2010 21:46:03 +0000 (21:46 +0000)]
Fix obvious typos.

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

14 years agoIgnore DBG_VALUE instructions that points to undef values.
Devang Patel [Tue, 27 Apr 2010 20:54:45 +0000 (20:54 +0000)]
Ignore DBG_VALUE instructions that points to undef values.

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

14 years agoSRA promotion is also not free.
Evan Cheng [Tue, 27 Apr 2010 19:48:31 +0000 (19:48 +0000)]
SRA promotion is also not free.

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

14 years ago- When legal, promote a load to zextload rather than ext load.
Evan Cheng [Tue, 27 Apr 2010 19:48:13 +0000 (19:48 +0000)]
- When legal, promote a load to zextload rather than ext load.
- Catch more further dag combine opportunities as result of operand promotion, e.g. (i32 anyext (i16 trunc (i32 x))) -> (i32 x)

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

14 years agoIdentify when a lexical scope is split in to multiple instruction ranges. Emit such...
Devang Patel [Tue, 27 Apr 2010 19:46:33 +0000 (19:46 +0000)]
Identify when a lexical scope is split in to multiple instruction ranges. Emit such ranges using DW_AT_ranges.
This patch fixes bug (PR6894) introduced by previous version of this patch.

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

14 years agoDo not count kill, implicit_def instructions as printed instructions.
Evan Cheng [Tue, 27 Apr 2010 19:38:45 +0000 (19:38 +0000)]
Do not count kill, implicit_def instructions as printed instructions.

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

14 years agoround zero-byte .zerofill directives up to 1 byte. This
Chris Lattner [Tue, 27 Apr 2010 07:41:44 +0000 (07:41 +0000)]
round zero-byte .zerofill directives up to 1 byte.  This
should fix some "g++.dg-struct-layout-1" failures,
rdar://7886017

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

14 years agofix wordo
Chris Lattner [Tue, 27 Apr 2010 07:28:11 +0000 (07:28 +0000)]
fix wordo

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

14 years agoremove some comments.
Chris Lattner [Tue, 27 Apr 2010 06:57:10 +0000 (06:57 +0000)]
remove some comments.

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

14 years agoRevert a small part of 102372; this fixes at least one
Dale Johannesen [Tue, 27 Apr 2010 02:10:05 +0000 (02:10 +0000)]
Revert a small part of 102372; this fixes at least one
of the dbg testsuite regressions.  I don't think this is
really the right fix; this change exposed an existing problem
upstream somewhere.

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

14 years agor98363 deleted a '!' when cleaning up whitespace. This caused globals which are
Bill Wendling [Tue, 27 Apr 2010 00:55:25 +0000 (00:55 +0000)]
r98363 deleted a '!' when cleaning up whitespace. This caused globals which are
*not* declarations to *not* be placed in the "preserve" list.
<rdar://problem/7870735>

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

14 years agoUn-XFAIL this on ppc. My enabling of dbg_declare handling
Dale Johannesen [Tue, 27 Apr 2010 00:01:42 +0000 (00:01 +0000)]
Un-XFAIL this on ppc.  My enabling of dbg_declare handling
in ISel fixed it.

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

14 years agoFix a problem that lower invoke has with allocas (PR6694), and
Chris Lattner [Mon, 26 Apr 2010 23:49:32 +0000 (23:49 +0000)]
Fix a problem that lower invoke has with allocas (PR6694), and
add a version of createLowerInvokePass that allows the client
to specify whether it wants "expensive" or "cheap" lowering.

Patch by Alex Mac!

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

14 years agoadd a comment in verbose-asm mode indicating why a noop is being generated.
Chris Lattner [Mon, 26 Apr 2010 23:41:43 +0000 (23:41 +0000)]
add a comment in verbose-asm mode indicating why a noop is being generated.

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

14 years agoon darwin empty functions need to codegen into something of non-zero length,
Chris Lattner [Mon, 26 Apr 2010 23:37:21 +0000 (23:37 +0000)]
on darwin empty functions need to codegen into something of non-zero length,
otherwise labels get incorrectly merged.  We handled this by emitting a
".byte 0", but this isn't correct on thumb/arm targets where the text segment
needs to be a multiple of 2/4 bytes.  Handle this by emitting a noop.  This
is more gross than it should be because arm/ppc are not fully mc'ized yet.

This fixes rdar://7908505

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

14 years agoIntegrate Jeffery Yasskin's suggestions with respect to
Dan Gohman [Mon, 26 Apr 2010 23:36:52 +0000 (23:36 +0000)]
Integrate Jeffery Yasskin's suggestions with respect to
traps flowing through memory references, add some text to
better cover phi nodes and externally-visible side effects,
add an example of instructions being control-dependent
on a trap value, and reword some of the existing trap rules.

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

14 years agoHandle register-to-register copies within the tGPR class.
Bob Wilson [Mon, 26 Apr 2010 23:20:08 +0000 (23:20 +0000)]
Handle register-to-register copies within the tGPR class.
Radar 7896289

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

14 years agoAvoid adding a null MD node operand, which crashes with "-debug" when trying
Bob Wilson [Mon, 26 Apr 2010 22:56:56 +0000 (22:56 +0000)]
Avoid adding a null MD node operand, which crashes with "-debug" when trying
to print the operand.

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

14 years agoUse DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug...
Devang Patel [Mon, 26 Apr 2010 22:54:28 +0000 (22:54 +0000)]
Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This simplifies debug range entries.

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

14 years agoWhen checking whether the special handling for an addrec increment which
Dan Gohman [Mon, 26 Apr 2010 21:46:36 +0000 (21:46 +0000)]
When checking whether the special handling for an addrec increment which
doesn't dominate the header is needed, don't check whether the increment
expression has computable loop evolution. While the operands of an
addrec are required to be loop-invariant, they're not required to
dominate any part of the loop. This fixes PR6914.

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

14 years agoAdd a comment to this test.
Dan Gohman [Mon, 26 Apr 2010 21:37:43 +0000 (21:37 +0000)]
Add a comment to this test.

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

14 years agoConsolidate the description of volatile operations, now that some of the
Jeffrey Yasskin [Mon, 26 Apr 2010 21:21:24 +0000 (21:21 +0000)]
Consolidate the description of volatile operations, now that some of the
intrinsics have volatile semantics in addition to the load and store
instructions.

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

14 years agoBranching or switching on trap transfers imminent undefined behavior
Dan Gohman [Mon, 26 Apr 2010 20:54:53 +0000 (20:54 +0000)]
Branching or switching on trap transfers imminent undefined behavior
onto control-dependent instructions.

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

14 years agoRemove crufty comments.
Dale Johannesen [Mon, 26 Apr 2010 20:48:54 +0000 (20:48 +0000)]
Remove crufty comments.

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

14 years agoadd some typewriter tags
Gabor Greif [Mon, 26 Apr 2010 20:46:03 +0000 (20:46 +0000)]
add some typewriter tags

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

14 years agoFix HTML errors that Jeffery Yasskin noticed.
Dan Gohman [Mon, 26 Apr 2010 20:21:21 +0000 (20:21 +0000)]
Fix HTML errors that Jeffery Yasskin noticed.

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

14 years agoHandle target-specific form of DBG_VALUE in AsmPrinter.
Dale Johannesen [Mon, 26 Apr 2010 20:07:31 +0000 (20:07 +0000)]
Handle target-specific form of DBG_VALUE in AsmPrinter.

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

14 years agoAdd DBG_VALUE handling for byval parameters; this
Dale Johannesen [Mon, 26 Apr 2010 20:06:49 +0000 (20:06 +0000)]
Add DBG_VALUE handling for byval parameters; this
produces a comment on targets that support it, but
the Dwarf writer is not hooked up yet.

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

14 years agoAdd PPC AsmPrinter handling for target-specific form of
Dale Johannesen [Mon, 26 Apr 2010 20:05:01 +0000 (20:05 +0000)]
Add PPC AsmPrinter handling for target-specific form of
DBG_VALUE, and a cautionary comment.

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

14 years agoInsert dbg_value instructions for function entry block liveins (i.e. function arguments).
Evan Cheng [Mon, 26 Apr 2010 19:16:00 +0000 (19:16 +0000)]
Insert dbg_value instructions for function entry block liveins (i.e. function arguments).

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

14 years agoPromoting 16-bit cmp / test aren't free. Don't do it.
Evan Cheng [Mon, 26 Apr 2010 19:06:11 +0000 (19:06 +0000)]
Promoting 16-bit cmp / test aren't free. Don't do it.

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

14 years agofix PR6921 a different way. Intead of increasing the
Chris Lattner [Mon, 26 Apr 2010 18:46:46 +0000 (18:46 +0000)]
fix PR6921 a different way.  Intead of increasing the
alignment of globals with a specified alignment, we fix
common variables to obey their alignment.  Add a comment
explaining why this behavior is important.

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

14 years agoRe-enable 102323 with fix: do not update dbg_value's with incorrect frame indices...
Evan Cheng [Mon, 26 Apr 2010 18:37:21 +0000 (18:37 +0000)]
Re-enable 102323 with fix: do not update dbg_value's with incorrect frame indices when the live interval are being re-materialized.

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

14 years agoRevert r102300/102301, which serious broke objc apps.
Chris Lattner [Mon, 26 Apr 2010 18:30:45 +0000 (18:30 +0000)]
Revert r102300/102301, which serious broke objc apps.

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

14 years agofix PR6940: sitofp(undef) folds to 0.0, not undef.
Chris Lattner [Mon, 26 Apr 2010 18:21:23 +0000 (18:21 +0000)]
fix PR6940: sitofp(undef) folds to 0.0, not undef.

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

14 years agowrap some long lines.
Chris Lattner [Mon, 26 Apr 2010 17:42:18 +0000 (17:42 +0000)]
wrap some long lines.

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

14 years agoUpdate MachineSSAUpdater with the same changes I made for the IR-level
Bob Wilson [Mon, 26 Apr 2010 17:40:49 +0000 (17:40 +0000)]
Update MachineSSAUpdater with the same changes I made for the IR-level
SSAUpdater.  I'm going to try to refactor this to share most of the code
between them.

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

14 years agoadd GHC, thanks to David Terei
Chris Lattner [Mon, 26 Apr 2010 17:38:10 +0000 (17:38 +0000)]
add GHC, thanks to David Terei

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

14 years agoTemporary disable spiller modifying dbg_value. It's breaking build.
Evan Cheng [Mon, 26 Apr 2010 08:24:07 +0000 (08:24 +0000)]
Temporary disable spiller modifying dbg_value. It's breaking build.

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

14 years agoRemove a redundant comment.
Evan Cheng [Mon, 26 Apr 2010 08:16:57 +0000 (08:16 +0000)]
Remove a redundant comment.

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

14 years agoAdd PPC specific emitFrameIndexDebugValue.
Evan Cheng [Mon, 26 Apr 2010 07:39:36 +0000 (07:39 +0000)]
Add PPC specific emitFrameIndexDebugValue.

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

14 years agoAdd ARM specific emitFrameIndexDebugValue.
Evan Cheng [Mon, 26 Apr 2010 07:39:25 +0000 (07:39 +0000)]
Add ARM specific emitFrameIndexDebugValue.

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

14 years ago- Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo and rename...
Evan Cheng [Mon, 26 Apr 2010 07:38:55 +0000 (07:38 +0000)]
- Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo and rename it to emitFrameIndexDebugValue.
- Teach spiller to modify DBG_VALUE instructions to reference spill slots.

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

14 years agoStop abusing EmitInstrWithCustomInserter for target-dependent
Dale Johannesen [Sun, 25 Apr 2010 21:33:54 +0000 (21:33 +0000)]
Stop abusing EmitInstrWithCustomInserter for target-dependent
form of DEBUG_VALUE, as it doesn't have reasonable default
behavior for unsupported targets.  Add a new hook instead.
No functional change.

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

14 years agoanother typo pointed out by sajd
Gabor Greif [Sun, 25 Apr 2010 21:30:22 +0000 (21:30 +0000)]
another typo pointed out by sajd

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

14 years agofix two typos pointed out by sajd
Gabor Greif [Sun, 25 Apr 2010 21:27:54 +0000 (21:27 +0000)]
fix two typos pointed out by sajd

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

14 years agoAdd comment re byval args. Doesn't actually work this way yet.
Dale Johannesen [Sun, 25 Apr 2010 21:03:54 +0000 (21:03 +0000)]
Add comment re byval args.  Doesn't actually work this way yet.
xs

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

14 years agoAdded bullet about GNUstep Objective-C ABI support to the Clang section of the releas...
David Chisnall [Sun, 25 Apr 2010 19:13:33 +0000 (19:13 +0000)]
Added bullet about GNUstep Objective-C ABI support to the Clang section of the release notes.

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

14 years agotestcase for PR6913
Chris Lattner [Sun, 25 Apr 2010 05:51:14 +0000 (05:51 +0000)]
testcase for PR6913

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