Owen Anderson
38493be0ce
Add a separate unrolling threshold when the current function is being optimized for size.
...
The threshold value of 50 is arbitrary, and I chose it simply by analogy to the inlining thresholds, where
the baseline unrolling threshold is slightly smaller than the baseline inlining threshold. This could
undoubtedly use some tuning.
llvm-svn: 113306
2010-09-07 23:15:30 +00:00
John McCall
f1418ef333
Add documentation for llvm-diff.
...
llvm-svn: 113303
2010-09-07 23:10:21 +00:00
Jakob Stoklund Olesen
bd8da2d3ee
Don't add <imp-def> operands during register rewriting.
...
LiveIntervals already adds <imp-def> operands for super-registers when a subreg
def defines the whole register. Thus, it is not necessary to do it again when
rewriting.
In fact, the super-register imp-defs caused miscompilations because the late
scheduler couldn't see that the super-register was read.
We still add super-reg <imp-use,kill> operands when rewriting virtuals to
physicals.
llvm-svn: 113299
2010-09-07 22:38:45 +00:00
Jim Grosbach
5d310ec4a5
To shrink a t2LDM instruction to the 16-bit wide tLDM instruction, the base
...
register must be one of the destination registers for the load. Otherwise,
the tLDM instruction will write-back to the base register, which isn't what's
desired (otherwise, we'd have a t2LDM_UPD instead).
rdar://8394087
llvm-svn: 113297
2010-09-07 22:30:53 +00:00
Devang Patel
acddbab1a5
remove these tests for now.
...
llvm-svn: 113293
2010-09-07 22:03:44 +00:00
Jim Grosbach
b40371d3bf
grammar tweak
...
llvm-svn: 113289
2010-09-07 21:30:25 +00:00
Bill Wendling
aea333c247
Remove untrue comments.
...
llvm-svn: 113287
2010-09-07 21:07:59 +00:00
Bruno Cardoso Lopes
a4ca8c3ac5
Factor out some x86 vector shuffle rewriting and add comments about the direction the shuffle lowering is heading to
...
llvm-svn: 113286
2010-09-07 21:03:14 +00:00
Devang Patel
751d5ec40a
There is no need to force target if the test is going to run on other x86 platforms.
...
llvm-svn: 113285
2010-09-07 20:59:09 +00:00
Owen Anderson
6c2af9f474
Remove dead code. ManagedCleanup is unused, and contained a serious bug in that
...
the provided cleanup function is never actually called.
llvm-svn: 113284
2010-09-07 20:53:39 +00:00
Owen Anderson
94ae132fc8
Fix PR7972, in which the PassRegistry was being leaked. As part of this,
...
switch to using a ManagedStatic for the global PassRegistry instead of a
ManagedCleanup, and fix a destruction ordering bug this exposed.
llvm-svn: 113283
2010-09-07 20:48:10 +00:00
Stuart Hastings
92dd0fd9ba
Typo. Thanks to BillW for pointing it out!
...
llvm-svn: 113281
2010-09-07 20:39:07 +00:00
Dan Gohman
6d4356d31f
Tidy up the getModRefInfo declarations.
...
llvm-svn: 113275
2010-09-07 20:37:47 +00:00
Bruno Cardoso Lopes
e33983dba9
Move code around to prepare for moving some of the logic together to another function
...
llvm-svn: 113267
2010-09-07 20:20:27 +00:00
Owen Anderson
7d56c30119
Properly initialize the pImpl member of PassRegistry to zero.
...
llvm-svn: 113264
2010-09-07 20:13:48 +00:00
Owen Anderson
f7efa840f0
Add doxygen comments for PassRegistry.
...
llvm-svn: 113262
2010-09-07 20:04:26 +00:00
Bill Wendling
9bb7ac566f
Add an MVT::x86mmx type. It will take the place of all current MMX vector types.
...
llvm-svn: 113261
2010-09-07 20:03:56 +00:00
Chris Lattner
a58a97dafc
Fix a serious performance regression introduced by r108687 on linux:
...
turning (fptrunc (sqrt (fpext x))) -> (sqrtf x) is great, but we have
to delete the original sqrt as well. Not doing so causes us to do
two sqrt's when building with -fmath-errno (the default on linux).
llvm-svn: 113260
2010-09-07 20:01:38 +00:00
Evan Cheng
5a058ed2a0
Remove a dead comment.
...
llvm-svn: 113259
2010-09-07 20:01:10 +00:00
Chris Lattner
f2534b401f
rename test.
...
llvm-svn: 113257
2010-09-07 19:57:06 +00:00
Chris Lattner
7b50cefea8
hopefully fix a problem building on cygwin-1.5
...
llvm-svn: 113255
2010-09-07 19:50:53 +00:00
Owen Anderson
e15120e561
Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce #include clutter
...
and exposing internal details.
llvm-svn: 113252
2010-09-07 19:16:25 +00:00
Bill Wendling
601bbfe6e3
Fix whitespace, because I'm OCD.
...
llvm-svn: 113250
2010-09-07 18:49:14 +00:00
Stuart Hastings
f0d248515f
Test case for r113248. Raar 8361341.
...
llvm-svn: 113249
2010-09-07 18:43:57 +00:00
Bruno Cardoso Lopes
21e1fc67c3
decouple MMX check from regular splat checks. Some refactoring is coming, and MMX should be left alone to be easily removed after moving to intrinsics
...
llvm-svn: 113247
2010-09-07 18:41:45 +00:00
Bruno Cardoso Lopes
dcc8690051
Remove now useless check, because the code can be matched below, no need to leave it for isel
...
llvm-svn: 113242
2010-09-07 18:29:03 +00:00
Dan Gohman
2625d9a286
Issue a #error if the host doesn't have an implementation for
...
GetMainExecutable yet.
llvm-svn: 113240
2010-09-07 18:26:49 +00:00
Bruno Cardoso Lopes
e6f7e4684d
Minor change. Since the checks are equivalent, use isMMX
...
llvm-svn: 113239
2010-09-07 18:24:00 +00:00
Devang Patel
e9dcee0a69
Fix command line used to link these test cases.
...
llvm-svn: 113237
2010-09-07 18:17:56 +00:00
Nick Lewycky
95bce25477
Update configure for change to autoconf/configure.ac to add PTX backend.
...
llvm-svn: 113236
2010-09-07 18:14:42 +00:00
Nick Lewycky
cad1395824
Create PTX backend. Patch by Che-Liang Chiou!
...
llvm-svn: 113235
2010-09-07 18:14:24 +00:00
Dale Johannesen
8354cab2de
Add patterns for MMX that use the new intrinsics.
...
Enable palignr intrinsic.
These may need adjustment for a new VT in due course.
llvm-svn: 113233
2010-09-07 18:10:56 +00:00
Devang Patel
ca974014e7
Reintroduce dbg-declare tests.
...
llvm-svn: 113232
2010-09-07 18:01:49 +00:00
Bruno Cardoso Lopes
92bb02f722
Remove unused target specific node
...
llvm-svn: 113224
2010-09-07 17:38:55 +00:00
Devang Patel
c1cdbbb6d5
Remove last three tests. I need to make them independent of my setup.
...
llvm-svn: 113213
2010-09-07 17:08:57 +00:00
Devang Patel
cb223026e6
Add a test case to check handling of dbg-declare during hybrid mode where we begin using fast-isel but switch back to DAG building at some point.
...
llvm-svn: 113210
2010-09-07 17:03:44 +00:00
Devang Patel
5b5dd1d32b
Add a test case to check handling of dbg-declare by selection DAG builder.
...
llvm-svn: 113209
2010-09-07 16:56:35 +00:00
Devang Patel
bcdf6f20ac
Add a test case to check handling of dbg-declare by fast-isel.
...
llvm-svn: 113208
2010-09-07 16:40:53 +00:00
Benjamin Kramer
32f7af702a
Don't leak the old operand when transforming "sldt" into "sldtw".
...
llvm-svn: 113200
2010-09-07 14:40:58 +00:00
Chris Lattner
bdedd983a9
attempt to appease msvc
...
llvm-svn: 113198
2010-09-07 06:10:48 +00:00
Gabor Greif
cb72b44075
fix comment typos
...
llvm-svn: 113197
2010-09-07 06:06:06 +00:00
Nick Lewycky
9698dae1df
Add completely hokey binary-and and binary-or operations to ConstantRange and
...
teach LazyValueInfo to use them.
llvm-svn: 113196
2010-09-07 05:39:02 +00:00
Nick Lewycky
8c155b346e
Fix major bug in thunk detection. Also verify the calling convention.
...
Switch from isWeakForLinker to mayBeOverridden which is more accurate.
Add more statistics and debugging info. Add comments. Move static function
outside anonymous namespace.
llvm-svn: 113190
2010-09-07 01:42:10 +00:00
Chris Lattner
fd65cfd3eb
add missing cmov aliases, this resolves rdar://8208499
...
llvm-svn: 113189
2010-09-07 00:05:45 +00:00
Chris Lattner
927dc7a5d2
remove duplicated entry
...
llvm-svn: 113188
2010-09-06 23:57:24 +00:00
Nick Lewycky
ca54f909d8
Add a new isSignWrappedSet() method to ConstantRange.
...
Fix zeroExtend and signExtend to support empty sets, and to return the smallest
possible result set which contains the extension of each element in their
inputs. For example zext i8 [100, 10) to i16 is now [0, 256), not i16 [100, 10)
which contains 63446 members.
llvm-svn: 113187
2010-09-06 23:52:49 +00:00
Chris Lattner
5a696fb3ca
"sldt <mem>" is ambiguous in 64-bit mode, but should
...
always be disambiguated as sldtw. sldtw and sldtq with
a mem operands have the same effect, but sldtw is more
compact. Force it to sldtw, resolving rdar://8017530
llvm-svn: 113186
2010-09-06 23:51:44 +00:00
Chris Lattner
3377802111
fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)"
...
llvm-svn: 113184
2010-09-06 23:40:56 +00:00
Chris Lattner
9f2c0da214
generalize my previous operand loc info hack. If the same operand
...
is busted for all variants, report it as the location. This allows
us to get the operand right for bugs like:
t.s:3:12: error: invalid operand for instruction
outb %al, %gs
^
Even though there are reg/imm and reg/reg forms of this instruction.
llvm-svn: 113183
2010-09-06 23:37:39 +00:00
Chris Lattner
6ecbbff857
fix the operand constraints of the immediate form of in/out,
...
allowing unsigned 8-bit operands. This fixes rdar://8208481
llvm-svn: 113182
2010-09-06 23:29:05 +00:00