Pete Cooper [Tue, 8 Nov 2011 19:30:00 +0000 (19:30 +0000)]
LICM pass now understands invariant load metadata. Nothing generates this yet so it will currently never get used in real tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144107
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 8 Nov 2011 19:16:01 +0000 (19:16 +0000)]
Add the base ObjC method name to the names lookup table as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144105
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Tue, 8 Nov 2011 19:06:53 +0000 (19:06 +0000)]
Adding test for machine-licm operating on invariant load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144104
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Tue, 8 Nov 2011 18:56:23 +0000 (18:56 +0000)]
Lower mem-ops to unaligned i32/i16 load/stores on ARM where supported.
Add support for trimming constants to GetDemandedBits. This fixes some funky
constant generation that occurs when stores are expanded for targets that don't
support unaligned stores natively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144102
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Tue, 8 Nov 2011 18:42:53 +0000 (18:42 +0000)]
Added invariant field to the DAG.getLoad method and changed all calls.
When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or moved around other memory accesses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144100
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 8 Nov 2011 18:38:40 +0000 (18:38 +0000)]
A few more places where we can avoid multiple size queries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144099
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 8 Nov 2011 18:22:25 +0000 (18:22 +0000)]
Don't evaluate Data.size() on every iteration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144095
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 8 Nov 2011 12:47:11 +0000 (12:47 +0000)]
This patch handles unaligned loads and stores in Mips JIT. Mips backend
implements unaligned loads and stores with assembler macro-instructions
ulw, usw, ulh, ulhu, ush, and this patch emits corresponding instructions
instead of these macros. Since each unaligned load/store is expanded
into two corresponding loads/stores where offset for second load/store is
modified by +3 (for words) or +1 (for halfwords).
Patch by Petar Jovanovic and Sasa Stankovic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144081
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 12:03:14 +0000 (12:03 +0000)]
PathProfiling.c: Get rid of using "inline". We may expect compiler shall optimize out "static" scope w/o "inline".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144080
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 8 Nov 2011 06:53:04 +0000 (06:53 +0000)]
Fix the printing of constants. Patch by Stepan Dyatkovskiy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144079
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 8 Nov 2011 05:22:54 +0000 (05:22 +0000)]
Add Eero to the list of external projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144076
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 04:00:07 +0000 (04:00 +0000)]
PPCInstrInfo.cpp: Fix one "unused" warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144071
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 03:54:40 +0000 (03:54 +0000)]
runtime/libprofile/PathProfiling.c: Use __inline__ to appease clang -std=gnu89 -pedantic.
FIXME: Should configure detect one?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144070
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 03:46:39 +0000 (03:46 +0000)]
test/CodeGen/X86/vec_shuffle-39.ll: Add explicit -mtriple=x86_64-linux. Passing packed value is not compatible on Win32 x64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144068
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 03:46:32 +0000 (03:46 +0000)]
test/CodeGen/X86/vec_shuffle-38.ll: Relax expression for Win32 x64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144067
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 8 Nov 2011 03:46:25 +0000 (03:46 +0000)]
test/CodeGen/X86/vec_shuffle.ll: Add explicit -mtriple=i686-linux. We may see some suboptimal frame (%ebp) emission on certain hosts. Possible [PR11031]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144066
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 8 Nov 2011 01:43:53 +0000 (01:43 +0000)]
Make sure to mark vector extload's as expand on ARM. Fixes PR11319.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144057
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 8 Nov 2011 01:25:24 +0000 (01:25 +0000)]
Add a bunch of calls to RemoveDeadNode in LegalizeDAG, so legalization doesn't get confused by CSE later on. Fixes PR11318.
Re-commit of r144034, with an extra fix so that RemoveDeadNode doesn't blow up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144055
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 8 Nov 2011 00:32:45 +0000 (00:32 +0000)]
Cleanup the formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144053
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 8 Nov 2011 00:31:58 +0000 (00:31 +0000)]
Add x86 isel logic and patterns to match movlps from clang generated IR for _mm_loadl_pi(). rdar://
10134392, rdar://
10050222
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144052
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 8 Nov 2011 00:23:01 +0000 (00:23 +0000)]
Convert to the new EH model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144050
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 8 Nov 2011 00:17:28 +0000 (00:17 +0000)]
Convert to the new EH model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144049
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 8 Nov 2011 00:09:27 +0000 (00:09 +0000)]
Convert tests to the new EH model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144048
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 8 Nov 2011 00:03:32 +0000 (00:03 +0000)]
Enable support for returning i1, i8, and i16. Nothing special todo as it's the
callee's responsibility to sign or zero-extend the return value. The additional
test case just checks to make sure the calls are selected (i.e., -fast-isel-abort
doesn't assert).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144047
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Tue, 8 Nov 2011 00:03:24 +0000 (00:03 +0000)]
Added missing newline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144046
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 7 Nov 2011 23:53:20 +0000 (23:53 +0000)]
Revert r144034 while I try to track down a crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144044
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 7 Nov 2011 23:36:48 +0000 (23:36 +0000)]
This code is dead, what with the new EH model and the auto-upgraders in place.
Delete!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144043
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 23:10:43 +0000 (23:10 +0000)]
Fix test for Windows as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144038
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 23:08:21 +0000 (23:08 +0000)]
Kill and collapse outstanding DomainValues.
DomainValues that are only used by "don't care" instructions are now
collapsed to the first possible execution domain after all basic blocks
have been processed. This typically means the PS domain on x86.
For example, the vsel_i64 and vsel_double functions in sse2-blend.ll are
completely collapsed to the PS domain instead of containing a mix of
execution domains created by isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144037
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Mon, 7 Nov 2011 23:04:49 +0000 (23:04 +0000)]
InstCombine now optimizes vector udiv by power of 2 to shifts
Fixes r8429
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144036
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 7 Nov 2011 22:51:10 +0000 (22:51 +0000)]
Add a bunch of calls to RemoveDeadNode in LegalizeDAG, so legalization doesn't get confused by CSE later on. Fixes PR11318.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144034
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 22:11:16 +0000 (22:11 +0000)]
Add all completed and named types to the dwarf type accelerator tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144027
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 7 Nov 2011 22:05:17 +0000 (22:05 +0000)]
Add ISPC to the external projects list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144026
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 21:59:29 +0000 (21:59 +0000)]
Use a reverse post order instead of a DFS order.
The enterBasicBlock() function is combining live-out values from
predecessor blocks. The RPO traversal means that more predecessors
have been visited when that happens, only back-edges are missing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144025
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 21:49:35 +0000 (21:49 +0000)]
Move the hash function to using and taking a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144024
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 21:49:28 +0000 (21:49 +0000)]
Simple destructor to delete the hash data we created earlier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144023
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Mon, 7 Nov 2011 21:43:40 +0000 (21:43 +0000)]
Allow i1 to be promoted to i32 for ARM AAPCS and AAPCS-VFP calling convention as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144021
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 21:40:27 +0000 (21:40 +0000)]
Extract two methods. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144020
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 21:38:58 +0000 (21:38 +0000)]
Various Mips64 floating point instruction patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144019
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 21:37:33 +0000 (21:37 +0000)]
Add definition of the base class for floating point comparison instructions
and add Mips64's version too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144018
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 21:35:45 +0000 (21:35 +0000)]
Add code needed for copying between 64-bit integer and floating pointer
registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144017
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 21:32:58 +0000 (21:32 +0000)]
Add definitions of 64-bit instructions which move data between integer and
floating pointer registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144016
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 21:23:42 +0000 (21:23 +0000)]
MBB doesn't need to be a class member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144015
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 21:23:39 +0000 (21:23 +0000)]
Fix pass name after the source was moved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144014
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 7 Nov 2011 21:00:59 +0000 (21:00 +0000)]
Simplify some uses of utohexstr.
As a side effect hex is printed lowercase instead of uppercase now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144013
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 7 Nov 2011 21:00:43 +0000 (21:00 +0000)]
Simplify code. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144012
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 20:47:23 +0000 (20:47 +0000)]
Fix test for Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144003
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 7 Nov 2011 19:38:34 +0000 (19:38 +0000)]
Make sure we don't insert instructions before a landingpad instruction.
<rdar://problem/
10405911>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144000
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 7 Nov 2011 19:15:58 +0000 (19:15 +0000)]
Expand V_SET0 to xorps by default.
The xorps instruction is smaller than pxor, so prefer that encoding.
The ExecutionDepsFix pass will switch the encoding to pxor and xorpd
when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143996
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 19:10:49 +0000 (19:10 +0000)]
Add definition of 64-bit load upper immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143994
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 19:07:35 +0000 (19:07 +0000)]
Include RegSaveAreaSize in the computation of stack size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143993
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 19:06:10 +0000 (19:06 +0000)]
Define functions that get or set the size of area on callee's stack frame which
is used to save va_arg or byval arguments passed in registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143992
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 19:03:40 +0000 (19:03 +0000)]
Use array_lengthof to compute the number of iterations of a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143991
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 19:01:49 +0000 (19:01 +0000)]
Fix patterns for unaligned 32-bit load. DSLL32 or DSRL32 should be emitted
when shift amount is larger than 32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143990
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 18:59:49 +0000 (18:59 +0000)]
Make the type of shift amount i32 in order to reduce the number of shift
instruction definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143989
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Mon, 7 Nov 2011 18:57:41 +0000 (18:57 +0000)]
Add 64-bit to 32-bit trunc pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143988
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 18:53:23 +0000 (18:53 +0000)]
Use StringRef::startswith to do some string comparisons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143982
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 18:34:47 +0000 (18:34 +0000)]
Avoid the use of a local temporary for comment twines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143974
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 18:10:17 +0000 (18:10 +0000)]
Allow for the case where the name of the subprogram is "".
Fixes a self-host error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143970
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 7 Nov 2011 17:21:36 +0000 (17:21 +0000)]
Fix llvm-objdump's MachO mode to not depend on the value returned by RelocationRef::getInfo().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143966
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Mon, 7 Nov 2011 17:09:05 +0000 (17:09 +0000)]
Don't introduce custom nodes after legalization in TargetLowering::BuildSDIV()
and TargetLowering::BuildUDIV(). Fixes PR11283
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143964
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:38:42 +0000 (09:38 +0000)]
Remove unnecessary addition to API. Replace with something much simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143925
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:37:06 +0000 (09:37 +0000)]
Add new files to cmake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143924
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:24:32 +0000 (09:24 +0000)]
Add the support code to enable the dwarf accelerator tables. Upcoming patches
to fix the types section (all types, not just global types), and testcases.
The code to do the final emission is disabled by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143923
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:18:42 +0000 (09:18 +0000)]
Add a new dwarf accelerator table prototype with the goal of replacing
the pubnames and pubtypes tables. LLDB can currently use this format
and a full spec is forthcoming and submission for standardization is planned.
A basic summary:
The dwarf accelerator tables are an indirect hash table optimized
for null lookup rather than access to known data. They are output into
an on-disk format that looks like this:
.-------------.
| HEADER |
|-------------|
| BUCKETS |
|-------------|
| HASHES |
|-------------|
| OFFSETS |
|-------------|
| DATA |
`-------------'
where the header contains a magic number, version, type of hash function,
the number of buckets, total number of hashes, and room for a special
struct of data and the length of that struct.
The buckets contain an index (e.g. 6) into the hashes array. The hashes
section contains all of the 32-bit hash values in contiguous memory, and
the offsets contain the offset into the data area for the particular
hash.
For a lookup example, we could hash a function name and take it modulo the
number of buckets giving us our bucket. From there we take the bucket value
as an index into the hashes table and look at each successive hash as long
as the hash value is still the same modulo result (bucket value) as earlier.
If we have a match we look at that same entry in the offsets table and
grab the offset in the data for our final match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143921
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:18:38 +0000 (09:18 +0000)]
Expose a way to get the beginning of the dwarf string section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143920
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:18:35 +0000 (09:18 +0000)]
Fix up comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143919
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 7 Nov 2011 09:18:32 +0000 (09:18 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143918
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 7 Nov 2011 08:26:24 +0000 (08:26 +0000)]
Add AVX2 variable shift instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143915
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 7 Nov 2011 03:20:35 +0000 (03:20 +0000)]
Add AVX2 VPMOVMASK instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143904
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 7 Nov 2011 02:00:04 +0000 (02:00 +0000)]
Add AVX2 VEXTRACTI128 and VINSERTI128 instructions. Fix VPERM2I128 to be qualified with HasAVX2 instead of HasAVX. Mark VINSERTF128 and VEXTRACTF128 as never having side effects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143902
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 7 Nov 2011 00:54:28 +0000 (00:54 +0000)]
Fix accidental edit to __builtin_ia32_vperm2f128_ps256's name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143901
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 6 Nov 2011 23:37:22 +0000 (23:37 +0000)]
Fix CRT selection logic when using CMake NMake generator.
CMAKE_CONFIGURATION_TYPES is only set on Visual Studio generators. For NMake CMAKE_BUILD_TYPE is used instead.
Patch by EJose Fonseca!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143898
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 6 Nov 2011 23:04:08 +0000 (23:04 +0000)]
More AVX2 instructions and their intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143895
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 6 Nov 2011 20:37:06 +0000 (20:37 +0000)]
Replace (Lower|Upper)caseString in favor of StringRef's newest methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143891
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 6 Nov 2011 20:36:50 +0000 (20:36 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143890
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 6 Nov 2011 19:57:04 +0000 (19:57 +0000)]
Revert "llvm-config-2: Switch to using real library dependency table." while I
investigate build failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143888
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 6 Nov 2011 18:04:49 +0000 (18:04 +0000)]
llvm-config: Users are allowed to provide component names in mixed case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143881
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 6 Nov 2011 18:04:43 +0000 (18:04 +0000)]
ADT/StringRef: Add ::lower() and ::upper() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143880
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 6 Nov 2011 18:04:23 +0000 (18:04 +0000)]
llvm-config-2: Switch to using real library dependency table.
- Also, fix a refacto that left extra "all" component in list (this is now
defined in the groups explicitly)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143879
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Sun, 6 Nov 2011 17:59:24 +0000 (17:59 +0000)]
Release Notes: add a description of -enable-iv-rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143878
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sun, 6 Nov 2011 16:45:46 +0000 (16:45 +0000)]
Return only the least significant 8 bits of the exit status from
Process::Wait on Windows (mimicing POSIX behaviour).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143876
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 6 Nov 2011 06:51:58 +0000 (06:51 +0000)]
docs/GettingStarted.html: [Git] Add another example for "[Gmail]/Drafts" in Traditional Chinese.
Thanks to Chen Weiren.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143862
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 6 Nov 2011 06:12:20 +0000 (06:12 +0000)]
Add more AVX2 instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 5 Nov 2011 21:18:59 +0000 (21:18 +0000)]
CMake should join the party in a post 3.0 world. ;] This brings CMake's
version in-line with the configure-based version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143834
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Sat, 5 Nov 2011 20:16:15 +0000 (20:16 +0000)]
Add support for passing i1, i8, and i16 call parameters. Also, be sure to
zero-extend the constant integer encoding. Test case provides testing for
both call parameters and materialization of i1, i8, and i16 types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143821
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 16:20:52 +0000 (16:20 +0000)]
Update lit's list of tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143815
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 16:01:13 +0000 (16:01 +0000)]
Audited all the format strings in libDebugInfo and fixed those that didn't match the types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143814
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 15:35:00 +0000 (15:35 +0000)]
Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x and
that breaks on big-endian machines.
I have to clean up the 32/64 bit confusion in libDebugInfo some day.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143812
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 13:11:25 +0000 (13:11 +0000)]
Twinify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143811
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 12:13:21 +0000 (12:13 +0000)]
MachOObject: Use DataExtractor's uleb parser instead of rolling our own.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143810
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 11:52:44 +0000 (11:52 +0000)]
Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 encoding from the DWARF asm printer.
As a side effect we now print dwarf ulebs with .ascii directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143809
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 5 Nov 2011 10:48:42 +0000 (10:48 +0000)]
Do simple cross-block DSE when we encounter a free statement. Fixes PR11240.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143808
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 09:45:17 +0000 (09:45 +0000)]
Fix pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143802
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 5 Nov 2011 08:57:40 +0000 (08:57 +0000)]
Add more PRI.64 macros for MSVC and use them throughout the codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 5 Nov 2011 06:30:03 +0000 (06:30 +0000)]
build/cmake: Enable initial llvm-build integration.
- Generates the llvm-config-2 LibraryDependencies.inc file.
- Generates dependency information so that cmake will automatically reconfigure
when LLVMBuild.txt files are changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143793
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 5 Nov 2011 04:17:28 +0000 (04:17 +0000)]
Recommend the -flto flag instead of -use-gold-plugin, and update
other aspects of the gold plugin docs to reflect reality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143785
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 5 Nov 2011 04:17:25 +0000 (04:17 +0000)]
Now that the linker supports lazily materialising globals, don't
materialise them in LTO.
I observed a ~0.5-1% speedup for an LTO link of opt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143784
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sat, 5 Nov 2011 04:17:20 +0000 (04:17 +0000)]
Use absolute path to exportsfile in gold plugin CMake build.
(Ninja generator requirement.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143783
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 5 Nov 2011 04:07:49 +0000 (04:07 +0000)]
utils/llvm-build: Ensure output directory exists for tools which write various fragments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143782
91177308-0d34-0410-b5e6-
96231b3b80d8