Chris Lattner
0eb2ced0cb
revert r105223 which broke all my testing.
...
llvm-svn: 105225
2010-05-31 17:10:45 +00:00
Dan Gohman
63cce74946
Fix count so that it doesn't make an extra fread call after
...
EOF is detected.
llvm-svn: 105223
2010-05-31 16:13:45 +00:00
Benjamin Kramer
860be640dd
Avoid swap when a copy suffices.
...
llvm-svn: 105220
2010-05-31 12:50:41 +00:00
Nick Lewycky
418d80e555
The memcpy intrinsic only takes i8* for %src and %dst, so cast them to that
...
first. Fixes PR7265.
llvm-svn: 105206
2010-05-31 06:16:35 +00:00
Oscar Fuentes
64be4a4554
Use llvm::next' instead of
next' to make VC++ 2010 happy.
...
llvm-svn: 105168
2010-05-30 13:14:21 +00:00
Alexis Hunt
bdfc4b7cd0
Allow for creation of clang DeclNodes tables.
...
The StmtNodes generator has been generalized to allow for the
creation of DeclNodes tables as well, and another emitter was
added for DeclContexts.
llvm-svn: 105164
2010-05-30 07:21:42 +00:00
Anton Korobeynikov
d8f3fc0f33
Some A9 load/store cleanups
...
llvm-svn: 105109
2010-05-29 19:25:39 +00:00
Anton Korobeynikov
16e9c73153
Some rough approximations for load/stores on A9
...
llvm-svn: 105108
2010-05-29 19:25:34 +00:00
Anton Korobeynikov
fb3252df43
NEON/VFP stuff can be issued only via Pipe1 on A9
...
llvm-svn: 105107
2010-05-29 19:25:29 +00:00
Anton Korobeynikov
ba7aa2f492
Add some integer instruction itineraries for A9
...
llvm-svn: 105106
2010-05-29 19:25:17 +00:00
Dan Gohman
0d280a8dbc
Reorder some code in SelectionDAGBuilder.
...
llvm-svn: 105105
2010-05-29 17:53:24 +00:00
Dan Gohman
ed310b8bca
SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue
...
shouldn't have a TargetLoweringInfo member. And FunctionLoweringInfo::set
doesn't needs its EnableFastISel argument.
llvm-svn: 105101
2010-05-29 17:03:36 +00:00
Benjamin Kramer
b9efe51823
Remove unused function.
...
llvm-svn: 105100
2010-05-29 14:03:51 +00:00
Nick Lewycky
2896d590c0
Document aggregate operation constant expressions.
...
llvm-svn: 105098
2010-05-29 06:44:15 +00:00
Nick Lewycky
c80024c896
Fix typo.
...
llvm-svn: 105096
2010-05-29 06:11:16 +00:00
Evan Cheng
fd971f18cb
Remove schedule-livein-copies. It's not being used.
...
llvm-svn: 105095
2010-05-29 02:23:39 +00:00
Evan Cheng
96bdf3e6f1
Fix PR7193: if sibling call address can take a register, make sure there are enough registers available by counting inreg arguments.
...
llvm-svn: 105092
2010-05-29 01:35:22 +00:00
Jakob Stoklund Olesen
6631c8b9b7
Handle composed subreg indices when processing REQ_SEQUENCE instructions.
...
llvm-svn: 105066
2010-05-29 00:14:14 +00:00
Evan Cheng
058f778d52
Doh. Machine LICM is re-initializing the CSE map over and over. Patch by Anna Zaks. rdar://8037934.
...
llvm-svn: 105065
2010-05-29 00:06:36 +00:00
Jakob Stoklund Olesen
847b5eb54a
Emit TargetRegisterInfo::composeSubRegIndices().
...
Also verify that all subregister indices compose unambiguously.
llvm-svn: 105064
2010-05-28 23:48:31 +00:00
Jakob Stoklund Olesen
b3539aa611
Merge the SystemZ subreg_even32 SubRegIndex into subreg_32bit. The SubRegIndices
...
were overspecified when inheriting sub-subregisters, for instance:
R0Q:subreg_even32 = R0Q:subreg_32bit = R0Q:subreg_even:subreg_32bit.
This meant that composeSubRegIndices(subreg_even, subreg_32bit) was ambiguous.
llvm-svn: 105063
2010-05-28 23:48:29 +00:00
Evan Cheng
849bca1ab6
Fix some latency computation bugs: if the use is not a machine opcode do not just return zero.
...
llvm-svn: 105061
2010-05-28 23:26:21 +00:00
Evan Cheng
01ab4e1d5a
Schedule high latency instructions for latency reduction even if they are not vfp / NEON instructions.
...
llvm-svn: 105060
2010-05-28 23:25:23 +00:00
Dale Johannesen
b54d197c10
Fix comment typos.
...
llvm-svn: 105059
2010-05-28 23:24:28 +00:00
Bruno Cardoso Lopes
ff2feaec4a
More SSE 1 & 2 merge, this time with logical instructions
...
llvm-svn: 105014
2010-05-28 22:47:03 +00:00
Dan Gohman
13a88a7def
Fix AliasDebugger to be aware of operand values too.
...
llvm-svn: 105012
2010-05-28 22:31:51 +00:00
Dan Gohman
fe69bf7b4c
Add lint checks for function attributes.
...
llvm-svn: 105009
2010-05-28 21:43:57 +00:00
Dan Gohman
85f0f45ea1
Split the logic behind CastInst::isNoopCast into a separate static function,
...
as is done with most other cast opcode predicates.
llvm-svn: 105008
2010-05-28 21:41:37 +00:00
Dan Gohman
9de9456806
Fix a comment; vectors are not a special case here.
...
llvm-svn: 105006
2010-05-28 21:22:45 +00:00
Kevin Enderby
fbd982b12f
MC/X86: Add alias for movzx.
...
llvm-svn: 105005
2010-05-28 21:20:21 +00:00
Kevin Enderby
922954fe32
MC/X86: Add alias for fwait.
...
llvm-svn: 105001
2010-05-28 20:59:10 +00:00
Kevin Enderby
3db5d4603e
Fix the use of x86 control and debug registers so that the assertion failure in
...
getX86RegNum() does not happen. Patch by Shantonu Sen!
llvm-svn: 104994
2010-05-28 19:01:27 +00:00
Dale Johannesen
3dde3fe642
Fix Data Layout description of floating point.
...
llvm-svn: 104993
2010-05-28 18:54:47 +00:00
Dale Johannesen
6b20aa3751
Add missing space; works for me.
...
llvm-svn: 104992
2010-05-28 18:45:59 +00:00
Jakob Stoklund Olesen
6a3738d96a
Add a TargetRegisterInfo::composeSubRegIndices hook with a default
...
implementation that is correct for most targets. Tablegen will override where
needed.
Add MachineOperand::subst{Virt,Phys}Reg methods that correctly handle existing
subreg indices when sustituting registers.
llvm-svn: 104985
2010-05-28 18:18:53 +00:00
Jim Grosbach
7dd85bebee
correct retattr
...
llvm-svn: 104980
2010-05-28 18:03:48 +00:00
Jim Grosbach
f4442c2ca2
Cosmetic cleanup. No functional change.
...
llvm-svn: 104974
2010-05-28 17:51:20 +00:00
Dan Gohman
a20b0d02e6
Fix lint's memcpy and memmove checks, and its basic block traversal.
...
llvm-svn: 104970
2010-05-28 17:44:00 +00:00
Jim Grosbach
2eb2c2d257
make sure accesses to set up the jmpbuf don't get moved after it by the scheduler. Add a missing \n.
...
llvm-svn: 104967
2010-05-28 17:37:40 +00:00
Dan Gohman
5e04f2df0b
Fix more whitespace to be consistent with AsmPrinter.
...
llvm-svn: 104963
2010-05-28 17:13:49 +00:00
Dan Gohman
49590bf7cd
Fix whitespace to be more consistent with AsmPrinter's style.
...
llvm-svn: 104962
2010-05-28 17:07:41 +00:00
Jakob Stoklund Olesen
f58cd7c838
Fix more tests that depended on the default register allocator choice.
...
llvm-svn: 104961
2010-05-28 17:06:30 +00:00
Dan Gohman
6e97d8955f
Minor code simplification.
...
llvm-svn: 104959
2010-05-28 16:50:23 +00:00
Dan Gohman
1c7843bad9
Fix a redundant-return warning.
...
llvm-svn: 104958
2010-05-28 16:50:01 +00:00
Dan Gohman
9a50a9215c
Detect self-referential values.
...
llvm-svn: 104957
2010-05-28 16:45:33 +00:00
Dan Gohman
0108e13d6c
Remove this va_arg test, which is no longer applicable.
...
llvm-svn: 104956
2010-05-28 16:44:04 +00:00
Stuart Hastings
369d3391d8
Revert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.
...
llvm-svn: 104953
2010-05-28 16:41:07 +00:00
Dan Gohman
8570c1a249
Eli pointed out that va_arg instruction result values don't
...
reference the stack.
llvm-svn: 104951
2010-05-28 16:34:49 +00:00
Dan Gohman
7981165281
Teach lint how to look through simple store+load pairs and other
...
effective no-op constructs, to make it more effective on
unoptimized IR.
llvm-svn: 104950
2010-05-28 16:21:24 +00:00
Dan Gohman
0d7d3faf8e
Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of
...
lib/Transforms/Utils and into lib/Analysis so that Analysis passes
can use them.
llvm-svn: 104949
2010-05-28 16:19:17 +00:00