Evan Cheng
346aecdb8b
Change if-conversion block size limit checks to add some flexibility.
...
llvm-svn: 106901
2010-06-25 22:42:03 +00:00
Bob Wilson
d1e4e67954
Add support for encoding 3-register NEON instructions, and fix
...
emitNEON2RegInstruction's handling of 2-address operands.
llvm-svn: 106900
2010-06-25 22:40:46 +00:00
Dan Gohman
bf52a2b872
In GenerateReassociations, don't bother thinking about individual
...
SCEVUnknown values which are loop-variant, as LSR can't do anything
interesting with these values in any case. This fixes very slow compile
times on loops which have large numbers of such values.
llvm-svn: 106897
2010-06-25 22:32:18 +00:00
Bruno Cardoso Lopes
04ac570a8d
Add several AVX MOV flavors
...
Support VEX encoding for MRMDestReg
llvm-svn: 106896
2010-06-25 22:27:51 +00:00
Devang Patel
b5b193fb87
Collect debug info for optimized variables of inlined functions.
...
llvm-svn: 106895
2010-06-25 22:07:34 +00:00
Jim Grosbach
a2449e2faa
80 column and typo fix
...
llvm-svn: 106894
2010-06-25 22:02:28 +00:00
Dale Johannesen
b1fc776fca
The hasMemory argument is irrelevant to how the argument
...
for an "i" constraint should get lowered; PR 6309. While
this argument was passed around a lot, this is the only
place it was used, so it goes away from a lot of other
places.
llvm-svn: 106893
2010-06-25 21:55:36 +00:00
Bob Wilson
a1739048a1
Add support for encoding 2-register NEON instructions.
...
llvm-svn: 106891
2010-06-25 21:17:19 +00:00
Dan Gohman
388f198fe5
pcmpeqd and friends are Commutable.
...
llvm-svn: 106886
2010-06-25 21:05:35 +00:00
Jim Grosbach
3aa1632045
80-column and trailing whitespace cleanup
...
llvm-svn: 106885
2010-06-25 21:02:24 +00:00
Bob Wilson
4d54e03068
Fix indentation.
...
llvm-svn: 106881
2010-06-25 20:54:44 +00:00
Bill Wendling
3f9cb6828a
- Reapply r106066 now that the bzip2 build regression has been fixed.
...
- 2010-06-25-CoalescerSubRegDefDead.ll is the testcase for r106878.
llvm-svn: 106880
2010-06-25 20:48:10 +00:00
Bill Wendling
2f7236d84b
We should remove the live range from the destination register only if *all* defs
...
are dead, not just the def of this register. I.e., a register could be dead, but
it's subreg isn't.
Testcase to follow with a subsequent patch.
llvm-svn: 106878
2010-06-25 20:42:55 +00:00
Bruno Cardoso Lopes
72ca75e10f
Move the last piece of SSE2 convert instructions to the Convert Instructions section
...
llvm-svn: 106877
2010-06-25 20:29:27 +00:00
Bruno Cardoso Lopes
fc7bfafe52
More SSE refactoring, this time with different types of MOVs
...
llvm-svn: 106876
2010-06-25 20:22:12 +00:00
Dan Gohman
01de3704f9
Eliminate a redundant FoldingSet lookup.
...
llvm-svn: 106872
2010-06-25 18:47:08 +00:00
Jim Grosbach
584fae6cc4
IT instructions are considered to be scheduling hazards, but are scheduled
...
with the following instructions. This is done via trickery by considering the
instruction preceding the IT to be the hazard. Care must be taken to ensure
it's the first non-debug instruction, or the presence of debug info will
affect codegen.
Part of the continuing work for rdar://7797940, making ARM code-gen unaffected
by the presence of debug information.
llvm-svn: 106871
2010-06-25 18:43:14 +00:00
Bruno Cardoso Lopes
0db2df31f4
Refactoring of more SSE conversion instructions. Also add some AVX instrinsics Int_V... placeholders
...
llvm-svn: 106867
2010-06-25 18:06:22 +00:00
Dale Johannesen
8e578aac71
Cosmetic.
...
llvm-svn: 106865
2010-06-25 17:41:07 +00:00
Devang Patel
a60b24c230
XFAIL this test on powerpc for now.
...
llvm-svn: 106862
2010-06-25 17:32:23 +00:00
Daniel Dunbar
20281ec272
Fix LLVM CMake PACKAGE_VERSION variable.
...
llvm-svn: 106861
2010-06-25 16:29:14 +00:00
Benjamin Kramer
b36c7df69c
Rewrite MemoryBuffer::getSTDIN to use read(2) and a SmallVector buffer.
...
llvm-svn: 106856
2010-06-25 16:07:18 +00:00
Duncan Sands
4fa152555d
Remove variables which are assigned to but for which the value
...
is not used. Spotted by gcc-4.6.
llvm-svn: 106854
2010-06-25 14:48:39 +00:00
Benjamin Kramer
1d187ed03e
Bring back the empty vector workaround I removed in r106839. Looks like MSVC needs it.
...
llvm-svn: 106841
2010-06-25 12:51:01 +00:00
Benjamin Kramer
afe7228ede
Tweak MemoryBuffer to allocate the class itself, the name and possibly the
...
buffer in the same chunk of memory.
2 less mallocs for every uninitialized MemoryBuffer and 1 less malloc for every
MemoryBuffer pointing to a memory range translate into 20% less mallocs on
clang -cc1 -Eonly Cocoa_h.m.
llvm-svn: 106839
2010-06-25 11:50:40 +00:00
Gabor Greif
0dfb39a8f8
use ArgOperand accessors
...
and CallInst for getting hold
of the intrinsic's arguments
simplify along the way (at least for me this is much more legible now)
Bill, Baldrick or Anton, please review\!
llvm-svn: 106838
2010-06-25 11:25:30 +00:00
Gabor Greif
d3bf34c9d8
use ArgOperand API (the simple part)
...
llvm-svn: 106837
2010-06-25 09:44:37 +00:00
Gabor Greif
dd11f62c9d
use ArgOperand API
...
llvm-svn: 106836
2010-06-25 09:38:13 +00:00
Gabor Greif
138c65a703
use ArgOperand API
...
llvm-svn: 106835
2010-06-25 09:36:23 +00:00
Duncan Sands
8292b412bc
Remove unused variables.
...
llvm-svn: 106834
2010-06-25 09:35:33 +00:00
Gabor Greif
3a105d7dcf
use ArgOperand API and CallSite to access arguments of CallInst
...
llvm-svn: 106833
2010-06-25 09:03:52 +00:00
Gabor Greif
9a159af577
use ArgOperand API and CallSite to access arguments of CallInst
...
llvm-svn: 106829
2010-06-25 08:48:19 +00:00
Gabor Greif
4f48ff5c1b
use ArgOperand API
...
llvm-svn: 106828
2010-06-25 08:24:59 +00:00
Gabor Greif
77b886a22b
prune an include
...
llvm-svn: 106827
2010-06-25 08:16:50 +00:00
Gabor Greif
42cbeeeb2e
use ArgOperand API (one more hunk I could split)
...
llvm-svn: 106825
2010-06-25 07:58:41 +00:00
Gabor Greif
d2559bceee
use ArgOperand API (some hunks I could split)
...
llvm-svn: 106824
2010-06-25 07:57:14 +00:00
Gabor Greif
7e08d99fd4
use ArgOperand API; tighten type of handleFreeWithNonTrivialDependency to be able to use isFreeCall whithout a cast or new overload
...
llvm-svn: 106823
2010-06-25 07:40:32 +00:00
Bob Wilson
a779332a5e
Add missing ARM and Thumb data layout info for vector types.
...
Radar 8128745.
llvm-svn: 106820
2010-06-25 04:41:08 +00:00
Bob Wilson
0a84b9b677
Reduce indentation.
...
llvm-svn: 106819
2010-06-25 04:12:31 +00:00
Dale Johannesen
8cbc00b2ac
Fix a case where an earlyclobber operand of an asm
...
is reused as an input. PR 4118. Testcase is too big,
as usual with bugs in this area, but there's one in
the PR.
llvm-svn: 106816
2010-06-25 00:49:43 +00:00
Bruno Cardoso Lopes
bde2881855
Add some AVX convert instructions
...
llvm-svn: 106815
2010-06-25 00:39:30 +00:00
Jakob Stoklund Olesen
7e15f420d0
Make sure all eliminated kills are removed from VNInfo lists.
...
This fixes PR7479 and PR7485. The test cases from those PRs are big, so not
included. However, PR7485 comes from self hosting on FreeBSD, so we will surely
hear about any regression.
llvm-svn: 106811
2010-06-24 23:57:35 +00:00
Dan Gohman
07ff7584a7
Don't write an output file to cwd, and put an rdar prefix on
...
an rdar number.
llvm-svn: 106810
2010-06-24 23:45:15 +00:00
Dan Gohman
f493a5d0d7
Add some comments.
...
llvm-svn: 106809
2010-06-24 23:41:59 +00:00
Bruno Cardoso Lopes
4663112339
Refactoring of SSE convert intrinsics
...
llvm-svn: 106808
2010-06-24 23:37:07 +00:00
Dan Gohman
0be71f4660
Teach EmitLiveInCopies to omit copies for unused virtual registers,
...
and to clean up unused incoming physregs from the live-in list.
llvm-svn: 106805
2010-06-24 22:23:02 +00:00
Bruno Cardoso Lopes
bacc90a80d
Refactoring of SSE conversion instructions
...
llvm-svn: 106804
2010-06-24 22:22:21 +00:00
Bob Wilson
5ddef25de2
Change array references to match my previous change to use the public type
...
names for the array fields.
llvm-svn: 106803
2010-06-24 22:21:19 +00:00
Oscar Fuentes
4c30188483
DataTypes.h.cmake (MSVC): Protect some #define's and use specific
...
suffixes for integer types.
llvm-svn: 106797
2010-06-24 22:05:52 +00:00
Bruno Cardoso Lopes
84ce865fea
Refactor SSE cmp intrinsics and declare the same for AVX
...
llvm-svn: 106796
2010-06-24 22:04:40 +00:00