Dan Gohman
1d10570630
Fix this test to account for a movl $0 being emitted as an xor now,
...
and convert it to FileCheck.
llvm-svn: 84065
2009-10-14 00:28:48 +00:00
Dale Johannesen
5017c333d0
Testcases for msasm bit (llvm-gcc 84062).
...
llvm-svn: 84063
2009-10-14 00:10:54 +00:00
Dan Gohman
76221cc874
Make isSafeToClobberEFLAGS more aggressive. Teach it to scan backwards
...
(for uses marked kill and defs marked dead) a few instructions in
addition to forwards. Also, increase the maximum number of instructions
to scan, as it appears to help in a fair number of cases.
llvm-svn: 84061
2009-10-14 00:08:59 +00:00
Dan Gohman
49946908b4
This remat entry is basically done. There are hooks to allow targets
...
to remat non-load instructions as loads, and the remat code now uses
the UnmodeledSideEffects flags, MachineMemOperands, and similar things
to decide which instructions are valid for rematerialization.
llvm-svn: 84060
2009-10-14 00:02:01 +00:00
Dan Gohman
d845fbc307
Add a few README.txt items.
...
llvm-svn: 84059
2009-10-13 23:58:05 +00:00
Dan Gohman
86970a6ea6
Fix resetCachedCostInfo to reset all of the cost information, instead of
...
just the NumBlocks field.
llvm-svn: 84056
2009-10-13 23:36:36 +00:00
Kevin Enderby
8d8e57983a
Correct comment about ARM immediates using '#' not '$' and TODO for modifiers.
...
llvm-svn: 84055
2009-10-13 23:33:38 +00:00
Devang Patel
72f708ec2f
s/DebugLoc.CompileUnit/DebugLoc.Scope/g
...
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g
llvm-svn: 84054
2009-10-13 23:28:53 +00:00
Devang Patel
81485d992b
Check void type before using RAUWd.
...
llvm-svn: 84049
2009-10-13 22:56:32 +00:00
Bob Wilson
a98883deaa
More Neon clean-up: avoid the need for custom-lowering vld/st-lane intrinsics
...
by creating TargetConstants during instruction selection instead of during
legalization.
llvm-svn: 84042
2009-10-13 22:29:24 +00:00
Kevin Enderby
959ec973ad
More bits of the ARM target assembler for llvm-mc to parse immediates.
...
Also fixed a couple of coding style things that crept in. And added more
to the temporary hacked up ARMAsmParser::MatchInstruction() method for testing.
llvm-svn: 84040
2009-10-13 22:19:02 +00:00
Evan Cheng
3130aba687
Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.
...
llvm-svn: 84038
2009-10-13 22:02:20 +00:00
Dale Johannesen
98d4e2663f
Documentation for the new msasm flag, which is no
...
worse than the rest of the asm documentation.
llvm-svn: 84037
2009-10-13 21:56:55 +00:00
Bob Wilson
88df19e49a
NEON VLD/VST are now fully implemented. For operations that expand to
...
multiple instructions, the expansion is done during selection so there is
no need to do anything special during legalization.
llvm-svn: 84036
2009-10-13 21:55:24 +00:00
Devang Patel
20d88f9e16
Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated.
...
llvm-svn: 84033
2009-10-13 21:41:20 +00:00
Jeffrey Yasskin
8a0bdbb7f3
Keep track of stubs that are created. This fixes PR5162 and probably PR4822 and
...
4406. Patch by Nick Lewycky!
llvm-svn: 84032
2009-10-13 21:32:57 +00:00
Douglas Gregor
1fd6052176
Add is_same type trait
...
llvm-svn: 84029
2009-10-13 21:17:00 +00:00
Duncan Sands
d4a35e9f36
Introduce new convenience methods for sign extending or
...
truncating an SDValue (depending on whether the target
type is bigger or smaller than the value's type); or zero
extending or truncating it. Use it in a few places (this
seems to be a popular operation, but I only modified cases
of it in SelectionDAGBuild). In particular, the eh_selector
lowering was doing this wrong due to a repeated rather than
inverted test, fixed with this change.
llvm-svn: 84027
2009-10-13 21:04:12 +00:00
Devang Patel
4eb6a32cf6
Optimizer may remove debug info. This test checks debug info for include headers.
...
llvm-svn: 84025
2009-10-13 20:56:38 +00:00
Bob Wilson
d66a3fd73b
Revise ARM inline assembly memory operands to require the memory address to
...
be in a register. The previous use of ARM address mode 2 was completely
arbitrary and inappropriate for Thumb. Radar 7137468.
llvm-svn: 84022
2009-10-13 20:50:28 +00:00
Dale Johannesen
7db511a23e
Add an "msasm" flag to inline asm as suggested in PR 5125.
...
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.
llvm-svn: 84020
2009-10-13 20:46:56 +00:00
Devang Patel
754bb7a010
These tests now pass.
...
llvm-svn: 84019
2009-10-13 20:45:18 +00:00
Sandeep Patel
af459ed32d
Fix method name in comment, per Bob Wilson.
...
llvm-svn: 84017
2009-10-13 20:25:58 +00:00
Dan Gohman
c5a7668904
Use the new CodeMetrics class to compute code size instead of
...
manually counting instructions.
llvm-svn: 84016
2009-10-13 20:12:23 +00:00
Dan Gohman
c1e210fa10
Compute a full cost value even when a setjmp call is found.
...
llvm-svn: 84015
2009-10-13 20:10:10 +00:00
Dan Gohman
665e336185
Split code not specific to Function inlining out into a separate class,
...
named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo
back to FunctionInfo.
llvm-svn: 84013
2009-10-13 19:58:07 +00:00
David Goodwin
d23db026b6
Add debugging output.
...
llvm-svn: 84011
2009-10-13 19:16:03 +00:00
Ted Kremenek
abbc32c042
Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees. This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps.
...
llvm-svn: 84010
2009-10-13 19:08:10 +00:00
Sandeep Patel
1584038783
Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov.
...
llvm-svn: 84009
2009-10-13 18:59:48 +00:00
Ted Kremenek
1f746d5df3
Update CMake file (lexically order files).
...
llvm-svn: 84008
2009-10-13 18:57:27 +00:00
Devang Patel
8f81b906ab
Do not write empty METADATA_ATTACHMENT record.
...
llvm-svn: 84006
2009-10-13 18:51:28 +00:00
Devang Patel
934fb4274a
Remove unnecessary assert.
...
llvm-svn: 84004
2009-10-13 18:51:03 +00:00
Benjamin Kramer
679377c816
Update the other CMake file.
...
llvm-svn: 84003
2009-10-13 18:50:54 +00:00
Devang Patel
e911e90808
Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build.
...
llvm-svn: 84002
2009-10-13 18:49:55 +00:00
Ted Kremenek
dd5d38175d
Update CMake file.
...
llvm-svn: 84001
2009-10-13 18:48:07 +00:00
Evan Cheng
84c5224fa2
Refactor some code. No functionality changes.
...
llvm-svn: 84000
2009-10-13 18:42:04 +00:00
Dan Gohman
81218aa90e
Commit the removal of this file, which is now moved to lib/Analysis.
...
llvm-svn: 83999
2009-10-13 18:37:20 +00:00
Dan Gohman
18cdd7ef1b
Move the InlineCost code from Transforms/Utils to Analysis.
...
llvm-svn: 83998
2009-10-13 18:30:07 +00:00
Dan Gohman
f277c57aad
Start refactoring the inline cost estimation code so that it can be used
...
for purposes other than inlining.
llvm-svn: 83997
2009-10-13 18:24:11 +00:00
Chris Lattner
26c670aa44
change simplifycfg to not duplicate 'unwind' instructions. Hopefully
...
this will increase the likelihood of common code getting sunk towards
the unwind.
llvm-svn: 83996
2009-10-13 18:13:05 +00:00
Chris Lattner
f5049b6bb8
convert to filecheck
...
llvm-svn: 83995
2009-10-13 18:10:05 +00:00
Chris Lattner
8ddeaf680a
rename test
...
llvm-svn: 83994
2009-10-13 18:08:21 +00:00
Dan Gohman
d01c6196f4
Make LoopUnswitch's cost estimation count Instructions, rather than
...
BasicBlocks, so that it doesn't blindly procede in the presence of
large individual BasicBlocks. This addresses a class of code-size
expansion problems.
llvm-svn: 83992
2009-10-13 17:50:43 +00:00
Chris Lattner
a3d8b98dcd
rename ReleaseNotes-2.6.html -> ReleaseNotes.html
...
llvm-svn: 83990
2009-10-13 17:48:04 +00:00
Chris Lattner
23d86355f2
add Zero
...
llvm-svn: 83988
2009-10-13 17:47:06 +00:00
Jeffrey Yasskin
3eacbf419d
Make the ExecutionEngine automatically remove global mappings on when their
...
GlobalValue is destroyed. Function destruction still leaks machine code and
can crash on leaked stubs, but this is some progress.
llvm-svn: 83987
2009-10-13 17:42:08 +00:00
Chris Lattner
a433d8cb67
don't use dead loads as tests.
...
llvm-svn: 83985
2009-10-13 17:39:29 +00:00
Devang Patel
ee9d2f0cc0
"there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)
...
llvm-svn: 83984
2009-10-13 17:35:35 +00:00
Bob Wilson
747a6c0795
Add some ARM instruction encoding bits.
...
Patch by Johnny Chen.
llvm-svn: 83983
2009-10-13 17:35:30 +00:00
Bob Wilson
60d40281d3
Fix regression introduced by r83894.
...
llvm-svn: 83982
2009-10-13 17:29:13 +00:00