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
Dan Gohman
5ba21692e6
ConstantFoldConstantExpression can theoretically return null.
...
llvm-svn: 104948
2010-05-28 16:12:08 +00:00
Dan Gohman
f7bbeb021a
Fix a comment.
...
llvm-svn: 104947
2010-05-28 16:06:09 +00:00
Dan Gohman
22d22caaed
Teach instcombine to promote alloca array sizes.
...
llvm-svn: 104945
2010-05-28 15:09:00 +00:00
Dan Gohman
bab79afa29
Add a testcase for getelementptr index promotion.
...
llvm-svn: 104944
2010-05-28 15:07:59 +00:00
Dan Gohman
a6c568fa77
Add a lint check for returning the address of stack memory.
...
llvm-svn: 104936
2010-05-28 04:33:42 +00:00
Dan Gohman
082d391a46
Fix instcombine's handling of alloca to accept non-i32 types.
...
llvm-svn: 104935
2010-05-28 04:33:04 +00:00
Nate Begeman
eb1028094c
Comment out some code in prep for actual .td file checkpoint.
...
llvm-svn: 104927
2010-05-28 02:19:08 +00:00
Dan Gohman
598aa87ff1
Bitcode support for allocas with arbitrary array size types.
...
llvm-svn: 104915
2010-05-28 01:38:28 +00:00
Devang Patel
46e30f80bf
Fix typo.
...
llvm-svn: 104914
2010-05-28 01:29:50 +00:00
Devang Patel
d7be13168c
Fix typo.
...
llvm-svn: 104913
2010-05-28 01:17:51 +00:00
Eli Friedman
f73aa6f0dc
Fix build breakage.
...
llvm-svn: 104912
2010-05-28 01:15:28 +00:00
Dan Gohman
bcee12027f
Eliminate the restriction that the array size in an alloca must be i32.
...
This will help reduce the amount of casting required on 64-bit targets.
llvm-svn: 104911
2010-05-28 01:14:11 +00:00
Nate Begeman
afef35118d
Add support to tablegen for auto-generating arm_neon.h from a tablegen description
...
of the intrinsics. The goal is to auto-generate both support for GCC-style (vector)
and ARM-style (struct of vector) intrinsics.
This is work in progress, but will be completed soon.
llvm-svn: 104910
2010-05-28 01:08:32 +00:00
Bob Wilson
e2ff075e4c
Add the cc_out operand for t2RSBrs instructions. I missed this when I changed
...
the instruction class for t2RSB to add that operand in svn r104582.
Radar 8033757.
llvm-svn: 104907
2010-05-28 00:27:15 +00:00
Jakob Stoklund Olesen
d76041cf58
Add a -regalloc=default option that chooses a register allocator based on the -O
...
optimization level.
This only really affects llc for now because both the llvm-gcc and clang front
ends override the default register allocator. I intend to remove that code later.
llvm-svn: 104904
2010-05-27 23:57:25 +00:00
Jakob Stoklund Olesen
9f9fed5a7c
Remove ancient prototype.
...
llvm-svn: 104903
2010-05-27 23:57:19 +00:00
Jim Grosbach
b004e2cf0f
Update the saved stack pointer in the sjlj function context following either
...
an alloca() or an llvm.stackrestore(). rdar://8031573
llvm-svn: 104900
2010-05-27 23:49:24 +00:00
Evan Cheng
e6fe0bc9cc
Use report_fatal_error, not llvm_unreachable.
...
llvm-svn: 104899
2010-05-27 23:45:31 +00:00
Jim Grosbach
d788f9b580
back out 104862/104869. Can reuse stacksave after all. Very cool.
...
llvm-svn: 104897
2010-05-27 23:11:57 +00:00
Dan Gohman
b049874698
Factor out the handler work from SignalHandler into a helper function,
...
and change llvm::sys::RunInterruptHandlers to call that function directly
instead of calling SignalHandler, because the rest of SignalHandler
invokes side effects which aren't appropriate, including raising the
signal.
llvm-svn: 104896
2010-05-27 23:11:55 +00:00
Evan Cheng
68be5ab54e
llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.
...
llvm-svn: 104891
2010-05-27 22:08:38 +00:00