Chris Lattner
587962c667
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.
llvm-svn: 91421
2009-12-15 07:26:43 +00:00
Mikhail Glushenkov
7743ee06be
Convert llvmc tests to FileCheck.
...
llvm-svn: 91420
2009-12-15 07:21:14 +00:00
Mikhail Glushenkov
2d69ef4077
Support hook invocation from 'append_cmd'.
...
llvm-svn: 91419
2009-12-15 07:20:50 +00:00
Evan Cheng
32946d6aae
Fix an encoding bug.
...
llvm-svn: 91417
2009-12-15 06:49:02 +00:00
Chris Lattner
05651d4544
add an ALWAYS_INLINE macro, which does the obvious thing.
...
llvm-svn: 91416
2009-12-15 06:14:33 +00:00
Kenneth Uildriks
c0ab5a6e88
For fastcc on x86, let ECX be used as a return register after EAX and EDX
...
llvm-svn: 91410
2009-12-15 03:27:52 +00:00
John McCall
9ebba8d98e
Names from dependent base classes are not found by unqualified lookup.
...
llvm-svn: 91407
2009-12-15 03:10:26 +00:00
Evan Cheng
4adb4acc7b
Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.
...
llvm-svn: 91405
2009-12-15 03:07:11 +00:00
Mikhail Glushenkov
93c8d86be9
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
llvm-svn: 91404
2009-12-15 03:04:52 +00:00
Mikhail Glushenkov
d2373fd4dc
Pipe 'grep' output to 'count'.
...
llvm-svn: 91403
2009-12-15 03:04:14 +00:00
Mikhail Glushenkov
39b16212f2
Allow $CALL(Hook, '$INFILE') for non-join tools.
...
llvm-svn: 91402
2009-12-15 03:04:02 +00:00
Mikhail Glushenkov
febfe06f08
Small documentation update.
...
llvm-svn: 91401
2009-12-15 03:03:37 +00:00
Evan Cheng
c531da60aa
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.
llvm-svn: 91399
2009-12-15 03:00:32 +00:00
John McCall
6bf01a2caf
You can't use typedefs to declare template member specializations, and
...
clang enforces it.
llvm-svn: 91397
2009-12-15 02:35:24 +00:00
Bill Wendling
e972f48c8f
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.
llvm-svn: 91392
2009-12-15 01:54:51 +00:00
Evan Cheng
d6a991f735
Tail duplication should zap a copy it inserted for SSA update if the copy is the only use of its source.
...
llvm-svn: 91390
2009-12-15 01:44:10 +00:00
Evan Cheng
cd8f0de016
Use sbb x, x to materialize carry bit in a GPR. The result is all one's or all zero's.
...
llvm-svn: 91381
2009-12-15 00:53:42 +00:00
Evan Cheng
bd48ad16fa
Fold (zext (and x, cst)) -> (and (zext x), cst).
...
llvm-svn: 91380
2009-12-15 00:52:11 +00:00
Daniel Dunbar
96d1aed265
NNT: Make sure stderr for build commands goes to log file, as intended but misdirected.
...
llvm-svn: 91379
2009-12-15 00:41:47 +00:00
Evan Cheng
f3b2e55b34
Propagate zest through logical shift.
...
llvm-svn: 91378
2009-12-15 00:41:36 +00:00
Eric Christopher
3abcd3f41c
Formatting.
...
llvm-svn: 91377
2009-12-15 00:40:55 +00:00
Bill Wendling
d2e25c606e
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
llvm-svn: 91376
2009-12-15 00:39:24 +00:00
Jim Grosbach
76d722dd6c
nand atomic requires opposite operand ordering
...
llvm-svn: 91371
2009-12-15 00:12:35 +00:00
Dan Gohman
57dc006590
Fix integer cast code to handle vector types.
...
llvm-svn: 91362
2009-12-14 23:40:38 +00:00
Dan Gohman
44a8b5decd
Move Flag and isVoid after the vector types, since bit arithmetic with
...
those enum values is less common.
llvm-svn: 91361
2009-12-14 23:36:03 +00:00
Dan Gohman
ec4e132814
Fix these asserts to check the invariant that the code actually
...
depends on.
llvm-svn: 91360
2009-12-14 23:34:36 +00:00
Dan Gohman
8fcc52aafd
Update this comment.
...
llvm-svn: 91356
2009-12-14 23:13:31 +00:00
Dan Gohman
e4169d615e
Fix this to properly clear the FastISel debug location. Thanks to
...
Bill for spotting this!
llvm-svn: 91355
2009-12-14 23:08:09 +00:00
Bob Wilson
af69586aff
Rearrange rules to add missing dependency and allow parallel makes.
...
llvm-svn: 91352
2009-12-14 22:44:22 +00:00
Johnny Chen
61b6d221d2
Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguate
...
between BR_JTr and STREXD.
llvm-svn: 91339
2009-12-14 21:51:34 +00:00
Bill Wendling
66fc3eb99d
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.
llvm-svn: 91337
2009-12-14 21:49:44 +00:00
Jim Grosbach
dc0006c895
v6 sync insn copy/paste error
...
llvm-svn: 91333
2009-12-14 21:33:32 +00:00
Jim Grosbach
09167e5bbb
Add ARMv6 memory and sync barrier instructions
...
llvm-svn: 91329
2009-12-14 21:24:16 +00:00
Johnny Chen
80b7b55eea
Fixed encoding bits typo of ldrexd/strexd.
...
llvm-svn: 91327
2009-12-14 21:01:46 +00:00
Jim Grosbach
266c2d59e6
Thumb2 atomic operations
...
llvm-svn: 91321
2009-12-14 20:14:59 +00:00
Dan Gohman
d16b19ff3e
Move several function bodies which are rarely inlined out of line.
...
llvm-svn: 91319
2009-12-14 19:43:09 +00:00
Chris Lattner
81c6d73285
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.
llvm-svn: 91318
2009-12-14 19:34:32 +00:00
Dan Gohman
8e0956f734
Micro-optimize these functions in the case where they are not inlined.
...
llvm-svn: 91316
2009-12-14 19:32:31 +00:00
Jim Grosbach
c7285dc721
correct selection requirements for thumb2 vs. arm versions of the barrier intrinsics
...
llvm-svn: 91313
2009-12-14 19:24:11 +00:00
Eric Christopher
abf9df5e6d
Add radar fixed in comment.
...
llvm-svn: 91312
2009-12-14 19:07:25 +00:00
Jim Grosbach
723a7aa4e9
add Thumb2 atomic and memory barrier instruction definitions
...
llvm-svn: 91310
2009-12-14 18:56:47 +00:00
Jim Grosbach
99ace7c9ff
whitespace
...
llvm-svn: 91307
2009-12-14 18:36:32 +00:00
Jim Grosbach
aaf39891f4
ARM memory barrier instructions are not predicable
...
llvm-svn: 91305
2009-12-14 18:31:20 +00:00
Daniel Dunbar
dfb16eea66
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.
llvm-svn: 91302
2009-12-14 17:58:33 +00:00
Daniel Dunbar
d3f3848384
NNT: Always create the -sentdata.txt file.
...
llvm-svn: 91301
2009-12-14 17:58:27 +00:00
Dan Gohman
106fce040d
Clear the Processed set when it is no longer used, and clear the
...
IVUses list in releaseMemory().
llvm-svn: 91296
2009-12-14 17:35:17 +00:00
Dan Gohman
abb2ea84d9
Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so the
...
condition was inverted when the code was converted to contains().
llvm-svn: 91295
2009-12-14 17:31:01 +00:00
Dan Gohman
ea5d4d2354
Remove unnecessary #includes.
...
llvm-svn: 91293
2009-12-14 17:19:06 +00:00
Dan Gohman
d8ea4d2eb0
Make the IVUses member private.
...
llvm-svn: 91291
2009-12-14 17:14:32 +00:00
Dan Gohman
5066c25e62
Instead of having a ScalarEvolution pointer member in BasedUser, just pass
...
the ScalarEvolution pointer into the functions which need it.
llvm-svn: 91289
2009-12-14 17:12:51 +00:00