Duncan Sands
da677f56f2
Fix PR7272: when inlining through a callsite with byval arguments,
...
the newly created allocas may be used by inlined calls, so these
need to have their tail call flags cleared. Fixes PR7272.
llvm-svn: 105255
2010-05-31 21:00:26 +00:00
Eric Christopher
fa1e15f023
Add a test for the llvm-gcc commit in r90200.
...
llvm-svn: 105253
2010-05-31 20:39:10 +00:00
Chris Lattner
14bf35ae45
fix PR6623: when optimizing for size, don't inline memcpy/memsets
...
that are too large. This causes the freebsd bootloader to be too
large apparently.
It's unclear if this should be an -Os or -Oz thing. Thoughts welcome.
llvm-svn: 105228
2010-05-31 17:30:14 +00:00
Chris Lattner
e8b65c0352
upgrade and filecheckize this test.
...
llvm-svn: 105227
2010-05-31 17:27:17 +00:00
Chris Lattner
0b9b118af7
the 'limit' argument to FindOptimalMemOpLowering is unsigned, not uint64_t.
...
llvm-svn: 105226
2010-05-31 17:12:23 +00:00
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