Chris Lattner [Wed, 16 Dec 2009 06:55:45 +0000 (06:55 +0000)]
substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
SmallVectorTemplateBase can be specialized based on isPodLike.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91518
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 16 Dec 2009 02:52:09 +0000 (02:52 +0000)]
MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91497
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Wed, 16 Dec 2009 02:32:54 +0000 (02:32 +0000)]
Add encoding bits for some Thumb instructions. Plus explicitly set the top two
bytes of Inst to 0x0000 for the benefit of the Thumb decoder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91496
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 16 Dec 2009 02:11:38 +0000 (02:11 +0000)]
XFAIL on ppc-darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91495
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 16 Dec 2009 00:53:11 +0000 (00:53 +0000)]
Re-enable 91381 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Dec 2009 00:46:02 +0000 (00:46 +0000)]
revert my strstr optimization, I'm told it breaks x86-64 bootstrap.
Will reapply with a fix when I get a chance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91486
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 16 Dec 2009 00:29:41 +0000 (00:29 +0000)]
Do better with physical reg operands (typically, from inline asm)
in local register allocator. If a reg-reg copy has a phys reg
input and a virt reg output, and this is the last use of the phys
reg, assign the phys reg to the virt reg. If a reg-reg copy has
a phys reg output and we need to reload its spilled input, reload
it directly into the phys reg than passing it through another reg.
Following 76208, there is sometimes no dependency between the def of
a phys reg and its use; this creates a window where that phys reg
can be used for spilling (this is true in linear scan also). This
is bad and needs to be fixed a better way, although 76208 works too
well in practice to be reverted. However, there should normally be
no spilling within inline asm blocks. The patch here goes a long way
towards making this actually be true.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91485
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 16 Dec 2009 00:15:28 +0000 (00:15 +0000)]
Every anonymous namespace is different. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91481
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 16 Dec 2009 00:13:24 +0000 (00:13 +0000)]
Explicit template instantiations must happen in the template's immediately
enclosing namespace. Caught by clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91480
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 16 Dec 2009 00:08:36 +0000 (00:08 +0000)]
Helpful comment added. Some code cleanup. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91479
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 16 Dec 2009 00:01:27 +0000 (00:01 +0000)]
Initialize uninitialized variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91477
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 16 Dec 2009 00:00:18 +0000 (00:00 +0000)]
Initialize uninitialized variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91475
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 15 Dec 2009 22:42:46 +0000 (22:42 +0000)]
Change indirect-globals to use a dedicated allocIndirectGV. This lets us
remove start/finishGVStub and the BufferState helper class from the
MachineCodeEmitter interface. It has the side-effect of not setting the
indirect global writable and then executable on ARM, but that shouldn't be
necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91464
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 15 Dec 2009 22:42:19 +0000 (22:42 +0000)]
Some command lines don't like numbers with leading zeros. Remove them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91463
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 15 Dec 2009 22:00:51 +0000 (22:00 +0000)]
Reapply 91184 with fixes and an addition to the testcase to cover the problem
found last time. Instead of trying to modify the IR while iterating over it,
I've change it to keep a list of WeakVH references to dead instructions, and
then delete those instructions later. I also added some special case code to
detect and handle the situation when both operands of a memcpy intrinsic are
referencing the same alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91459
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 15 Dec 2009 22:00:37 +0000 (22:00 +0000)]
lit: Improve error when gtest discovery fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91458
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 15 Dec 2009 20:21:44 +0000 (20:21 +0000)]
Revert 90628, which was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91448
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 19:34:20 +0000 (19:34 +0000)]
Fix GetConstantStringInfo to not look into MDString (it works on
real data, not metadata) and fix DbgInfoPrinter to not abuse
GetConstantStringInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91444
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 15 Dec 2009 19:28:13 +0000 (19:28 +0000)]
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91442
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 15 Dec 2009 19:16:48 +0000 (19:16 +0000)]
Add support to emit debug info for C++ namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 19:14:40 +0000 (19:14 +0000)]
optimize strstr, PR5783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91438
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 15 Dec 2009 17:24:14 +0000 (17:24 +0000)]
Added encoding bits for the Thumb ISA. Initial checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91434
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 15 Dec 2009 16:30:09 +0000 (16:30 +0000)]
Delete an unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91432
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 09:05:13 +0000 (09:05 +0000)]
add some other xforms that should be done as part of PR5783
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91428
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 08:34:01 +0000 (08:34 +0000)]
a few improvements:
1. Use std::equal instead of reinventing it.
2. don't run dtors in destroy_range if element is pod-like.
3. Use isPodLike to decide between memcpy/uninitialized_copy
instead of is_class. isPodLike is more generous in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 08:29:22 +0000 (08:29 +0000)]
hoist the begin/end/capacity members and a few trivial methods
up into the non-templated SmallVectorBase class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 07:40:44 +0000 (07:40 +0000)]
improve isPodLike to know that all non-class types are pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91425
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 07:27:58 +0000 (07:27 +0000)]
Lang verified that SlotIndex is "pod like" even though it isn't a pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 07:26:43 +0000 (07:26 +0000)]
Remove isPod() from DenseMapInfo, splitting it out to its own
isPodLike type trait. This is a generally useful type trait for
more than just DenseMap, and we really care about whether something
acts like a pod, not whether it really is a pod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91421
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 07:21:14 +0000 (07:21 +0000)]
Convert llvmc tests to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91420
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 07:20:50 +0000 (07:20 +0000)]
Support hook invocation from 'append_cmd'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 06:49:02 +0000 (06:49 +0000)]
Fix an encoding bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91417
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Dec 2009 06:14:33 +0000 (06:14 +0000)]
add an ALWAYS_INLINE macro, which does the obvious thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91416
91177308-0d34-0410-b5e6-
96231b3b80d8
Kenneth Uildriks [Tue, 15 Dec 2009 03:27:52 +0000 (03:27 +0000)]
For fastcc on x86, let ECX be used as a return register after EAX and EDX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91410
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 15 Dec 2009 03:10:26 +0000 (03:10 +0000)]
Names from dependent base classes are not found by unqualified lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91407
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 03:07:11 +0000 (03:07 +0000)]
Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91405
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 03:04:52 +0000 (03:04 +0000)]
Validate the generated C++ code in llvmc tests.
Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:
- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 03:04:14 +0000 (03:04 +0000)]
Pipe 'grep' output to 'count'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91403
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 03:04:02 +0000 (03:04 +0000)]
Allow $CALL(Hook, '$INFILE') for non-join tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91402
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 15 Dec 2009 03:03:37 +0000 (03:03 +0000)]
Small documentation update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91401
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 03:00:32 +0000 (03:00 +0000)]
Make 91378 more conservative.
1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest.
2. If the shift is a left shift, make sure the original shift cannot shift out bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91399
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 15 Dec 2009 02:35:24 +0000 (02:35 +0000)]
You can't use typedefs to declare template member specializations, and
clang enforces it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91397
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 15 Dec 2009 01:54:51 +0000 (01:54 +0000)]
Initial work on disabling the scheduler. This is a work in progress, and this
stuff isn't used just yet.
We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2'
flags. The hypothesis is that the people who use these flags know what they are
doing, and have hand-optimized the C code to reduce latencies and other
conflicts.
The idea behind our scheme to turn off scheduling is to create a map "on the
side" during DAG generation. It will order the nodes by how they appeared in the
code. This map is then used during scheduling to get the ordering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91392
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 01:44:10 +0000 (01:44 +0000)]
Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91390
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 00:53:42 +0000 (00:53 +0000)]
Use sbb x, x to materialize carry bit in a GPR. The result is all one's or all zero's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91381
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 00:52:11 +0000 (00:52 +0000)]
Fold (zext (and x, cst)) -> (and (zext x), cst).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91380
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 15 Dec 2009 00:41:47 +0000 (00:41 +0000)]
NNT: Make sure stderr for build commands goes to log file, as intended but misdirected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91379
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 15 Dec 2009 00:41:36 +0000 (00:41 +0000)]
Propagate zest through logical shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91378
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 15 Dec 2009 00:40:55 +0000 (00:40 +0000)]
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91377
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 15 Dec 2009 00:39:24 +0000 (00:39 +0000)]
Revert these. They may have been causing 483_xalancbmk to fail:
$ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91161 into '.':
U lib/CodeGen/BranchFolding.cpp
U lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91113 into '.':
G lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91101 into '.':
U include/llvm/CodeGen/MachineBasicBlock.h
G lib/CodeGen/MachineBasicBlock.cpp
$ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r91092 into '.':
G include/llvm/CodeGen/MachineBasicBlock.h
G lib/CodeGen/MachineBasicBlock.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91376
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 15 Dec 2009 00:12:35 +0000 (00:12 +0000)]
nand atomic requires opposite operand ordering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91371
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 23:40:38 +0000 (23:40 +0000)]
Fix integer cast code to handle vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91362
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 23:36:03 +0000 (23:36 +0000)]
Move Flag and isVoid after the vector types, since bit arithmetic with
those enum values is less common.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91361
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 23:34:36 +0000 (23:34 +0000)]
Fix these asserts to check the invariant that the code actually
depends on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91360
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 23:13:31 +0000 (23:13 +0000)]
Update this comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91356
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 23:08:09 +0000 (23:08 +0000)]
Fix this to properly clear the FastISel debug location. Thanks to
Bill for spotting this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91355
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 14 Dec 2009 22:44:22 +0000 (22:44 +0000)]
Rearrange rules to add missing dependency and allow parallel makes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91352
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Mon, 14 Dec 2009 21:51:34 +0000 (21:51 +0000)]
Add encoding bits "let Inst{11-4} =
0b00000000;" to BR_JTr to disambiguate
between BR_JTr and STREXD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91339
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 14 Dec 2009 21:49:44 +0000 (21:49 +0000)]
The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,
but we need it to actually be 4-bytes in the FDE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 21:33:32 +0000 (21:33 +0000)]
v6 sync insn copy/paste error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91333
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 21:24:16 +0000 (21:24 +0000)]
Add ARMv6 memory and sync barrier instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91329
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Mon, 14 Dec 2009 21:01:46 +0000 (21:01 +0000)]
Fixed encoding bits typo of ldrexd/strexd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91327
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 20:14:59 +0000 (20:14 +0000)]
Thumb2 atomic operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91321
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 19:55:22 +0000 (19:55 +0000)]
Add svn:ignore entries for the Disassembler files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91320
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 19:43:09 +0000 (19:43 +0000)]
Move several function bodies which are rarely inlined out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Dec 2009 19:34:32 +0000 (19:34 +0000)]
fix an obvious bug found by clang++ and collapse a redundant if.
Here's the diagnostic from clang:
/Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context
printConstant(gv);
^
1 diagnostic generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91318
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 19:32:31 +0000 (19:32 +0000)]
Micro-optimize these functions in the case where they are not inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91316
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 19:24:11 +0000 (19:24 +0000)]
correct selection requirements for thumb2 vs. arm versions of the barrier intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91313
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 14 Dec 2009 19:07:25 +0000 (19:07 +0000)]
Add radar fixed in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91312
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 18:56:47 +0000 (18:56 +0000)]
add Thumb2 atomic and memory barrier instruction definitions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91310
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 18:36:32 +0000 (18:36 +0000)]
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91307
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 18:31:20 +0000 (18:31 +0000)]
ARM memory barrier instructions are not predicable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Dec 2009 17:58:33 +0000 (17:58 +0000)]
NNT: Use [e]grep -a when scanning logs, its possibly they will have non-text
characters in them, in which case the grep will just return 'Binary file
matches' and the whole thing falls over.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91302
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 14 Dec 2009 17:58:27 +0000 (17:58 +0000)]
NNT: Always create the -sentdata.txt file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91301
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:35:17 +0000 (17:35 +0000)]
Clear the Processed set when it is no longer used, and clear the
IVUses list in releaseMemory().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91296
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:31:01 +0000 (17:31 +0000)]
Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so the
condition was inverted when the code was converted to contains().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91295
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:19:06 +0000 (17:19 +0000)]
Remove unnecessary #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91293
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:14:32 +0000 (17:14 +0000)]
Make the IVUses member private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91291
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:12:51 +0000 (17:12 +0000)]
Instead of having a ScalarEvolution pointer member in BasedUser, just pass
the ScalarEvolution pointer into the functions which need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91289
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:10:44 +0000 (17:10 +0000)]
Don't bother cleaning up if there's nothing to clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91288
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:08:09 +0000 (17:08 +0000)]
Delete an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91287
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:06:50 +0000 (17:06 +0000)]
Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. The
former was just exposing a LoopInfoBase implementation detail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 17:02:55 +0000 (17:02 +0000)]
add ldrexd/strexd instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 17:02:34 +0000 (17:02 +0000)]
LSR itself doesn't need LoopInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91283
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 16:57:08 +0000 (16:57 +0000)]
LSR itself doesn't need DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91282
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 16:52:55 +0000 (16:52 +0000)]
Remove the code in LSR that manually hoists expansions out of loops;
SCEVExpander does this automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91281
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 14 Dec 2009 16:37:29 +0000 (16:37 +0000)]
Minor code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91280
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 14 Dec 2009 16:18:45 +0000 (16:18 +0000)]
Use DW_AT_specification to point to DIE describing function declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278
91177308-0d34-0410-b5e6-
96231b3b80d8
Shantonu Sen [Mon, 14 Dec 2009 14:15:15 +0000 (14:15 +0000)]
Remove empty file completely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91277
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 14 Dec 2009 12:38:18 +0000 (12:38 +0000)]
Add "generic" fallback.
gcc warned that the function may not have a return value, indeed
for non-intel and non-amd X86 CPUs it is right (VIA, etc.).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91276
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Mon, 14 Dec 2009 07:43:25 +0000 (07:43 +0000)]
Added CalcSpillWeights to CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91275
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 14 Dec 2009 06:51:19 +0000 (06:51 +0000)]
Whitespace changes, comment clarification. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91274
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Mon, 14 Dec 2009 06:49:42 +0000 (06:49 +0000)]
Moved spill weight calculation out of SimpleRegisterCoalescing and into its own pass: CalculateSpillWeights.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Dec 2009 05:11:02 +0000 (05:11 +0000)]
revert r91184, because it causes a crash on a .bc file I just
sent to Bob.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91268
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 14 Dec 2009 04:22:04 +0000 (04:22 +0000)]
atomic binary operations up to 32-bits wide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91260
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Mon, 14 Dec 2009 04:06:38 +0000 (04:06 +0000)]
Add a test for the 'init' option property.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91259
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Sun, 13 Dec 2009 20:30:32 +0000 (20:30 +0000)]
Reinstate r91208 to fix available_externally linkage for globals, with
nlewycky's fix to add -rdynamic so the JIT can look symbols up in Linux builds
of the JITTests binary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91250
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Sun, 13 Dec 2009 08:59:40 +0000 (08:59 +0000)]
Using _MSC_VER there was wrong, better just use the already existing ifdefs for
x86 CPU detection for the X86 getHostCPUName too, and create a simple
getHostCPUName that returns "generic" for all else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 13 Dec 2009 07:04:45 +0000 (07:04 +0000)]
Don't leave pointers uninitialized in the default constructor. GCC complains
about the potential use of these uninitialized members under certain conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91239
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 13 Dec 2009 01:00:59 +0000 (01:00 +0000)]
Fix weird typo which leads to unallocated memory access for nodes with 4 results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91233
91177308-0d34-0410-b5e6-
96231b3b80d8