Chris Lattner [Thu, 15 Oct 2009 04:13:44 +0000 (04:13 +0000)]
don't bother calling ConstantFoldInstruction unless there is a use of the
instruction (which disqualifies stores, unreachable, etc) and at least the
first operand is a constant. This filters out a lot of obvious cases that
can't be folded. Also, switch the IRBuilder to a TargetFolder, which tries
harder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84170
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 15 Oct 2009 00:36:35 +0000 (00:36 +0000)]
Take advantage of TargetData when available; we know that the atomic intrinsics
only dereference the element they point to directly with no pointer arithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84159
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 15 Oct 2009 00:36:22 +0000 (00:36 +0000)]
Make CodePlacementOpt align loops, rather than loop headers. The
header is just the entry block to the loop, and it needn't be at
the top of the loop in the code layout.
Remove the code that suppressed loop alignment for outer loops,
so that outer loops are aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84158
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 23:39:27 +0000 (23:39 +0000)]
When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84153
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 23:37:31 +0000 (23:37 +0000)]
Print earlyclobber for implicit-defs as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84152
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Oct 2009 22:14:18 +0000 (22:14 +0000)]
One more iteration here and a yet better way to solve it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84150
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Oct 2009 21:45:49 +0000 (21:45 +0000)]
Fix the unused argument problem here a different way - cast to void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84147
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 21:43:17 +0000 (21:43 +0000)]
Fix instruction encoding bits for NEON VPADAL.
Patch by Johnny Chen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84146
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 21:40:45 +0000 (21:40 +0000)]
Remove unused variables to fix build warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84144
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Oct 2009 21:22:39 +0000 (21:22 +0000)]
Make loop not recalc getNumOperands() each time around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84138
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Oct 2009 21:08:09 +0000 (21:08 +0000)]
Add support to record DbgScope as inlined scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Oct 2009 21:07:11 +0000 (21:07 +0000)]
quiet compiler warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84133
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Oct 2009 20:39:01 +0000 (20:39 +0000)]
Delete bogus semicolons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84132
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Oct 2009 20:31:01 +0000 (20:31 +0000)]
Inst{11-8} for vshl should be 0b0101, not 0b1111.
Refs: A7-17 & A8-750.
Patch by Johnny Chen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84131
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Oct 2009 20:28:33 +0000 (20:28 +0000)]
Remove a bunch of unused arguments from functions, silencing a
warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84130
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Oct 2009 20:04:41 +0000 (20:04 +0000)]
The ARM and PowerPC jits are broken in this regard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84128
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Oct 2009 20:01:39 +0000 (20:01 +0000)]
There seems to be no reason for opt's -S option to be hidden.
Make it visible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84127
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 14 Oct 2009 19:02:13 +0000 (19:02 +0000)]
Make use of the result of the loads even though that means adding -instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84125
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 19:00:24 +0000 (19:00 +0000)]
Set instruction encoding bits 4 and 7 for ARM register-register and
register-shifted-register instructions. Patch by Johnny Chen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84124
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 18:32:29 +0000 (18:32 +0000)]
Refactor code to select NEON VST intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84122
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Oct 2009 17:29:00 +0000 (17:29 +0000)]
Use isVoidTy()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84118
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 17:28:52 +0000 (17:28 +0000)]
Refactor code to select NEON VLD intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84117
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Oct 2009 17:02:49 +0000 (17:02 +0000)]
Add copyMD to copy metadata from one instruction to another instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 16:46:45 +0000 (16:46 +0000)]
More refactoring. NEON vst lane intrinsics can share almost all the code for
vld lane intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84110
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Oct 2009 16:19:03 +0000 (16:19 +0000)]
Refactor code for selecting NEON load lane intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84109
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Oct 2009 16:11:37 +0000 (16:11 +0000)]
I don't see any point in having both eh.selector.i32 and eh.selector.i64,
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
Likewise for eh.typeid.for. This aligns us with gcc, which always uses a
32 bit value for the selector on all platforms. My understanding is that
the register allocator used to assert if the selector intrinsic size didn't
match the pointer size, and this was the reason for introducing the two
variants. However my testing shows that this is no longer the case (I
fixed some bugs in selector lowering yesterday, and some more today in the
fastisel path; these might have caused the original problems).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Oct 2009 15:21:58 +0000 (15:21 +0000)]
make instcombine's instruction sinking more aggressive in the
presence of PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84103
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Wed, 14 Oct 2009 11:12:33 +0000 (11:12 +0000)]
Undo pthread patch from rev. 83930 & 83823. Credit to Paul Davey.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84083
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 06:46:26 +0000 (06:46 +0000)]
Clear VisitedPHIs after use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84080
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 06:41:49 +0000 (06:41 +0000)]
Another BasicAA fix. If a value does not alias a GEP's base pointer, then it
cannot alias the GEP. GEP pointer alias rule states this clearly:
A pointer value formed from a getelementptr instruction is associated with the
addresses associated with the first operand of the getelementptr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Wed, 14 Oct 2009 05:55:03 +0000 (05:55 +0000)]
AuroraUX needs special Solaris system header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84076
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 05:22:03 +0000 (05:22 +0000)]
More code clean up based on patch feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84074
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 05:05:02 +0000 (05:05 +0000)]
Change VisitedPHIs into an instance variable that's freed by each alias() call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84072
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Oct 2009 01:45:10 +0000 (01:45 +0000)]
Replace test with a simpler hand crafted one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84069
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Wed, 14 Oct 2009 00:44:50 +0000 (00:44 +0000)]
Provide AuroraUX triple support in configure. Credit to - Paul Davey.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84067
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 Oct 2009 00:34:56 +0000 (00:34 +0000)]
Use llvmgxx for C++ test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84066
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Oct 2009 00:28:48 +0000 (00:28 +0000)]
Fix this test to account for a movl $0 being emitted as an xor now,
and convert it to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84065
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 Oct 2009 00:10:54 +0000 (00:10 +0000)]
Testcases for msasm bit (llvm-gcc 84062).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84063
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Oct 2009 00:08:59 +0000 (00:08 +0000)]
Make isSafeToClobberEFLAGS more aggressive. Teach it to scan backwards
(for uses marked kill and defs marked dead) a few instructions in
addition to forwards. Also, increase the maximum number of instructions
to scan, as it appears to help in a fair number of cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84061
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Oct 2009 00:02:01 +0000 (00:02 +0000)]
This remat entry is basically done. There are hooks to allow targets
to remat non-load instructions as loads, and the remat code now uses
the UnmodeledSideEffects flags, MachineMemOperands, and similar things
to decide which instructions are valid for rematerialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84060
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 23:58:05 +0000 (23:58 +0000)]
Add a few README.txt items.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84059
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 23:36:36 +0000 (23:36 +0000)]
Fix resetCachedCostInfo to reset all of the cost information, instead of
just the NumBlocks field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84056
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 13 Oct 2009 23:33:38 +0000 (23:33 +0000)]
Correct comment about ARM immediates using '#' not '$' and TODO for modifiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84055
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 23:28:53 +0000 (23:28 +0000)]
s/DebugLoc.CompileUnit/DebugLoc.Scope/g
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 22:56:32 +0000 (22:56 +0000)]
Check void type before using RAUWd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84049
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 22:29:24 +0000 (22:29 +0000)]
More Neon clean-up: avoid the need for custom-lowering vld/st-lane intrinsics
by creating TargetConstants during instruction selection instead of during
legalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84042
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 13 Oct 2009 22:19:02 +0000 (22:19 +0000)]
More bits of the ARM target assembler for llvm-mc to parse immediates.
Also fixed a couple of coding style things that crept in. And added more
to the temporary hacked up ARMAsmParser::MatchInstruction() method for testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84040
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Oct 2009 22:02:20 +0000 (22:02 +0000)]
Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Oct 2009 21:56:55 +0000 (21:56 +0000)]
Documentation for the new msasm flag, which is no
worse than the rest of the asm documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84037
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 21:55:24 +0000 (21:55 +0000)]
NEON VLD/VST are now fully implemented. For operations that expand to
multiple instructions, the expansion is done during selection so there is
no need to do anything special during legalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84036
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 21:41:20 +0000 (21:41 +0000)]
Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84033
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 13 Oct 2009 21:32:57 +0000 (21:32 +0000)]
Keep track of stubs that are created. This fixes PR5162 and probably PR4822 and
4406. Patch by Nick Lewycky!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84032
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 13 Oct 2009 21:17:00 +0000 (21:17 +0000)]
Add is_same type trait
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84029
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 13 Oct 2009 21:04:12 +0000 (21:04 +0000)]
Introduce new convenience methods for sign extending or
truncating an SDValue (depending on whether the target
type is bigger or smaller than the value's type); or zero
extending or truncating it. Use it in a few places (this
seems to be a popular operation, but I only modified cases
of it in SelectionDAGBuild). In particular, the eh_selector
lowering was doing this wrong due to a repeated rather than
inverted test, fixed with this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84027
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 20:56:38 +0000 (20:56 +0000)]
Optimizer may remove debug info. This test checks debug info for include headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84025
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 20:50:28 +0000 (20:50 +0000)]
Revise ARM inline assembly memory operands to require the memory address to
be in a register. The previous use of ARM address mode 2 was completely
arbitrary and inappropriate for Thumb. Radar
7137468.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84022
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Oct 2009 20:46:56 +0000 (20:46 +0000)]
Add an "msasm" flag to inline asm as suggested in PR 5125.
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 20:45:18 +0000 (20:45 +0000)]
These tests now pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84019
91177308-0d34-0410-b5e6-
96231b3b80d8
Sandeep Patel [Tue, 13 Oct 2009 20:25:58 +0000 (20:25 +0000)]
Fix method name in comment, per Bob Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84017
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 20:12:23 +0000 (20:12 +0000)]
Use the new CodeMetrics class to compute code size instead of
manually counting instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84016
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 20:10:10 +0000 (20:10 +0000)]
Compute a full cost value even when a setjmp call is found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84015
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 19:58:07 +0000 (19:58 +0000)]
Split code not specific to Function inlining out into a separate class,
named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo
back to FunctionInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84013
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 13 Oct 2009 19:16:03 +0000 (19:16 +0000)]
Add debugging output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84011
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 Oct 2009 19:08:10 +0000 (19:08 +0000)]
Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees. This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84010
91177308-0d34-0410-b5e6-
96231b3b80d8
Sandeep Patel [Tue, 13 Oct 2009 18:59:48 +0000 (18:59 +0000)]
Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84009
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 Oct 2009 18:57:27 +0000 (18:57 +0000)]
Update CMake file (lexically order files).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84008
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 18:51:28 +0000 (18:51 +0000)]
Do not write empty METADATA_ATTACHMENT record.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84006
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 18:51:03 +0000 (18:51 +0000)]
Remove unnecessary assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84004
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Oct 2009 18:50:54 +0000 (18:50 +0000)]
Update the other CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84003
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 18:49:55 +0000 (18:49 +0000)]
Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84002
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 13 Oct 2009 18:48:07 +0000 (18:48 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84001
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Oct 2009 18:42:04 +0000 (18:42 +0000)]
Refactor some code. No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84000
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 18:37:20 +0000 (18:37 +0000)]
Commit the removal of this file, which is now moved to lib/Analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83999
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 18:30:07 +0000 (18:30 +0000)]
Move the InlineCost code from Transforms/Utils to Analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83998
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 18:24:11 +0000 (18:24 +0000)]
Start refactoring the inline cost estimation code so that it can be used
for purposes other than inlining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83997
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 18:13:05 +0000 (18:13 +0000)]
change simplifycfg to not duplicate 'unwind' instructions. Hopefully
this will increase the likelihood of common code getting sunk towards
the unwind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83996
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 18:10:05 +0000 (18:10 +0000)]
convert to filecheck
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83995
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 18:08:21 +0000 (18:08 +0000)]
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83994
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 17:50:43 +0000 (17:50 +0000)]
Make LoopUnswitch's cost estimation count Instructions, rather than
BasicBlocks, so that it doesn't blindly procede in the presence of
large individual BasicBlocks. This addresses a class of code-size
expansion problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83992
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 17:48:04 +0000 (17:48 +0000)]
rename ReleaseNotes-2.6.html -> ReleaseNotes.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 17:47:06 +0000 (17:47 +0000)]
add Zero
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83988
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 13 Oct 2009 17:42:08 +0000 (17:42 +0000)]
Make the ExecutionEngine automatically remove global mappings on when their
GlobalValue is destroyed. Function destruction still leaks machine code and
can crash on leaked stubs, but this is some progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 17:39:29 +0000 (17:39 +0000)]
don't use dead loads as tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83985
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 17:35:35 +0000 (17:35 +0000)]
"there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 17:35:30 +0000 (17:35 +0000)]
Add some ARM instruction encoding bits.
Patch by Johnny Chen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83983
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 17:29:13 +0000 (17:29 +0000)]
Fix regression introduced by r83894.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83982
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 17:00:54 +0000 (17:00 +0000)]
Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 16:32:09 +0000 (16:32 +0000)]
Disable this test for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83975
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Oct 2009 15:27:23 +0000 (15:27 +0000)]
Fix a tab. Thanks to Johnny Chen for pointing it out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83973
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 13 Oct 2009 09:24:02 +0000 (09:24 +0000)]
The eh.exception intrinsic only reads from memory, it doesn't
write to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83963
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 13 Oct 2009 09:23:11 +0000 (09:23 +0000)]
Pacify the compiler (signed with unsigned comparison) by making
these constants unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83962
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 13 Oct 2009 07:57:33 +0000 (07:57 +0000)]
Force memory use markers to have a ConstantInt for the size argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 13 Oct 2009 07:48:38 +0000 (07:48 +0000)]
Teach BasicAA a little something about the atomic intrinsics: they can only
modify through the pointer they're given.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 13 Oct 2009 07:03:23 +0000 (07:03 +0000)]
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
sections of memory objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 13 Oct 2009 06:47:08 +0000 (06:47 +0000)]
Fix a -Asserts warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 05:33:26 +0000 (05:33 +0000)]
remove dead header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83943
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 04:27:02 +0000 (04:27 +0000)]
remove notcast, it is now dead!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Oct 2009 04:25:24 +0000 (04:25 +0000)]
remove two old and nearly useless tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83937
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Oct 2009 01:51:29 +0000 (01:51 +0000)]
XFAIL these tests for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83933
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Oct 2009 01:49:02 +0000 (01:49 +0000)]
Add a ceilLogBase2 function to APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83932
91177308-0d34-0410-b5e6-
96231b3b80d8