oota-llvm.git
12 years agoDon't introduce custom nodes after legalization in TargetLowering::BuildSDIV()
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

12 years agoRemove unnecessary addition to API. Replace with something much simpler.
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

12 years agoAdd new files to cmake.
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

12 years agoAdd the support code to enable the dwarf accelerator tables. Upcoming patches
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

12 years agoAdd a new dwarf accelerator table prototype with the goal of replacing
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

12 years agoExpose a way to get the beginning of the dwarf string section.
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

12 years agoFix up comment.
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

12 years agoTypo.
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

12 years agoAdd AVX2 variable shift instructions and intrinsics.
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

12 years agoAdd AVX2 VPMOVMASK instructions and intrinsics.
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

12 years agoAdd AVX2 VEXTRACTI128 and VINSERTI128 instructions. Fix VPERM2I128 to be qualified...
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

12 years agoFix accidental edit to __builtin_ia32_vperm2f128_ps256's name
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

12 years agoFix CRT selection logic when using CMake NMake generator.
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

12 years agoMore AVX2 instructions and their intrinsics.
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

12 years agoReplace (Lower|Upper)caseString in favor of StringRef's newest methods.
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

12 years agoFix a typo.
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

12 years agoRevert "llvm-config-2: Switch to using real library dependency table." while I
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

12 years agollvm-config: Users are allowed to provide component names in mixed case.
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

12 years agoADT/StringRef: Add ::lower() and ::upper() methods.
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

12 years agollvm-config-2: Switch to using real library dependency table.
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

12 years agoRelease Notes: add a description of -enable-iv-rewrite.
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

12 years agoReturn only the least significant 8 bits of the exit status from
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

12 years agodocs/GettingStarted.html: [Git] Add another example for "[Gmail]/Drafts" in Tradition...
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

12 years agoAdd more AVX2 instructions and intrinsics.
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

12 years agoCMake should join the party in a post 3.0 world. ;] This brings CMake's
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

12 years agoAdd support for passing i1, i8, and i16 call parameters. Also, be sure to
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

12 years agoUpdate lit's list of tools.
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

12 years agoAudited all the format strings in libDebugInfo and fixed those that didn't match...
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

12 years agoReduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x and
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

12 years agoTwinify.
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

12 years agoMachOObject: Use DataExtractor's uleb parser instead of rolling our own.
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

12 years agoAdd an option to pad an uleb128 to MCObjectWriter and remove the uleb128 encoding...
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

12 years agoDo simple cross-block DSE when we encounter a free statement. Fixes PR11240.
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

12 years agoFix pasto.
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

12 years agoAdd more PRI.64 macros for MSVC and use them throughout the codebase.
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

12 years agobuild/cmake: Enable initial llvm-build integration.
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

12 years agoRecommend the -flto flag instead of -use-gold-plugin, and update
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

12 years agoNow that the linker supports lazily materialising globals, don't
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

12 years agoUse absolute path to exportsfile in gold plugin CMake build.
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

12 years agoutils/llvm-build: Ensure output directory exists for tools which write various fragments.
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

12 years agoutils/llvm-build: Add trivial quoting of slashes for CMake fragment.
Daniel Dunbar [Sat, 5 Nov 2011 04:07:43 +0000 (04:07 +0000)]
utils/llvm-build: Add trivial quoting of slashes for CMake fragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143781 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAllow i1 to be promoted to i32 for ARM APCS calling convention.
Chad Rosier [Sat, 5 Nov 2011 00:02:56 +0000 (00:02 +0000)]
Allow i1 to be promoted to i32 for ARM APCS calling convention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143755 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdded missing &. Fixes <rdar://problem/10393723>
Pete Cooper [Fri, 4 Nov 2011 23:49:14 +0000 (23:49 +0000)]
Added missing &.  Fixes <rdar://problem/10393723>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143753 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoEnhanced vzeroupper insertion pass that avoids inserting vzeroupper where it is unnec...
Eli Friedman [Fri, 4 Nov 2011 23:46:11 +0000 (23:46 +0000)]
Enhanced vzeroupper insertion pass that avoids inserting vzeroupper where it is unnecessary through local analysis.  Patch from Bruno Cardoso Lopes, with some additional changes.

I'm going to wait for any review comments and perform some additional testing before turning this on by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143750 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoCannot create a result register for non-legal types.
Chad Rosier [Fri, 4 Nov 2011 23:45:39 +0000 (23:45 +0000)]
Cannot create a result register for non-legal types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143749 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/make: Fix the output path of the llvm-config-2 library dependency table.
Daniel Dunbar [Fri, 4 Nov 2011 23:40:14 +0000 (23:40 +0000)]
build/make: Fix the output path of the llvm-config-2 library dependency table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143746 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Quote colons in target names, in an attempt to make msys happy.
Daniel Dunbar [Fri, 4 Nov 2011 23:40:11 +0000 (23:40 +0000)]
llvm-build: Quote colons in target names, in an attempt to make msys happy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143745 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Add initial --write-cmake-fragment option.
Daniel Dunbar [Fri, 4 Nov 2011 23:10:37 +0000 (23:10 +0000)]
llvm-build: Add initial --write-cmake-fragment option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143744 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoWhen materializing an i32, SExt vs ZExt doesn't matter when we're trying to fit
Chad Rosier [Fri, 4 Nov 2011 23:09:49 +0000 (23:09 +0000)]
When materializing an i32, SExt vs ZExt doesn't matter when we're trying to fit
in a 16-bit immediate.  However, for the shorter non-legal types (i.e., i1, i8,
i16) we should not sign-extend.  This prevents us from materializing things
such as 'true' (i.e., i1 1).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143743 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Change to require Python be available.
Daniel Dunbar [Fri, 4 Nov 2011 23:04:05 +0000 (23:04 +0000)]
build/cmake: Change to require Python be available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143742 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoEnable support for materializing i1, i8, and i16 integers via move immediate.
Chad Rosier [Fri, 4 Nov 2011 22:29:00 +0000 (22:29 +0000)]
Enable support for materializing i1, i8, and i16 integers via move immediate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143739 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd mips ELF relocation types. Patch by Jack Carter!
Bruno Cardoso Lopes [Fri, 4 Nov 2011 22:24:36 +0000 (22:24 +0000)]
Add mips ELF relocation types. Patch by Jack Carter!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143738 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoFix some misplaced punctuation.
Bill Wendling [Fri, 4 Nov 2011 20:40:41 +0000 (20:40 +0000)]
Fix some misplaced punctuation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143737 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd triple to test.
Rafael Espindola [Fri, 4 Nov 2011 20:20:34 +0000 (20:20 +0000)]
Add triple to test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143735 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Coalesce the configuration time header include fragment generation
Daniel Dunbar [Fri, 4 Nov 2011 19:04:42 +0000 (19:04 +0000)]
build/cmake: Coalesce the configuration time header include fragment generation
for target definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143731 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Coalesce in-tree sanity checks.
Daniel Dunbar [Fri, 4 Nov 2011 19:04:39 +0000 (19:04 +0000)]
build/cmake: Coalesce in-tree sanity checks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143730 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Tidy up specification of build/include options for (tools, runtime,
Daniel Dunbar [Fri, 4 Nov 2011 19:04:37 +0000 (19:04 +0000)]
build/cmake: Tidy up specification of build/include options for (tools, runtime,
examples, and tests).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143729 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Move all the user controllable options into top-level CMakeLists
Daniel Dunbar [Fri, 4 Nov 2011 19:04:35 +0000 (19:04 +0000)]
build/cmake: Move all the user controllable options into top-level CMakeLists
for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143728 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/cmake: Use tblgen macro directly instead of llvm_tablegen, which just
Daniel Dunbar [Fri, 4 Nov 2011 19:04:23 +0000 (19:04 +0000)]
build/cmake: Use tblgen macro directly instead of llvm_tablegen, which just
added a layer of indirection with no value (not even conciseness).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143727 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoEmit declarations before definitions if they are available. This causes DW_AT_specifi...
Rafael Espindola [Fri, 4 Nov 2011 19:00:29 +0000 (19:00 +0000)]
Emit declarations before definitions if they are available. This causes DW_AT_specification to
point back in the file in the included testcase. Fixes PR11300.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143726 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoReformatting changes to get rid of blank lines, put code on one line, and to
Bill Wendling [Fri, 4 Nov 2011 18:48:00 +0000 (18:48 +0000)]
Reformatting changes to get rid of blank lines, put code on one line, and to
decrease some code indentation. No intended functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143723 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd missing includes/decls.
Eli Friedman [Fri, 4 Nov 2011 18:45:34 +0000 (18:45 +0000)]
Add missing includes/decls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143722 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd tests for existing InstSimplify features.
Dan Gohman [Fri, 4 Nov 2011 18:39:16 +0000 (18:39 +0000)]
Add tests for existing InstSimplify features.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143721 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoTeach instsimplify to simplify calls to undef.
Dan Gohman [Fri, 4 Nov 2011 18:32:42 +0000 (18:32 +0000)]
Teach instsimplify to simplify calls to undef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143719 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd missing includes/class declaration.
Eli Friedman [Fri, 4 Nov 2011 18:30:30 +0000 (18:30 +0000)]
Add missing includes/class declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143718 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd missing forward declarations.
Eli Friedman [Fri, 4 Nov 2011 18:29:09 +0000 (18:29 +0000)]
Add missing forward declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143717 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd a couple missing includes; found while analyzing LLVM headers.
Eli Friedman [Fri, 4 Nov 2011 18:19:43 +0000 (18:19 +0000)]
Add a couple missing includes; found while analyzing LLVM headers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143716 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoDelete names for unused parameters in inline function definitions in headers, so...
Eli Friedman [Fri, 4 Nov 2011 18:11:56 +0000 (18:11 +0000)]
Delete names for unused parameters in inline function definitions in headers, so LLVM users can compile with -Wunused-parameter.  PR11257; based on patch by Kevin Harris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143715 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoBuild llvmCore with RTTI enabled. <rdar://problem/10395761>
Bob Wilson [Fri, 4 Nov 2011 17:57:13 +0000 (17:57 +0000)]
Build llvmCore with RTTI enabled.  <rdar://problem/10395761>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143714 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd missing argument for atomic instructions in c++ backend. PR11268, part 2.
Eli Friedman [Fri, 4 Nov 2011 17:29:35 +0000 (17:29 +0000)]
Add missing argument for atomic instructions in c++ backend.  PR11268, part 2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143712 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoutils: Remove build-for-llvm-top.sh and ModuleInfo.txt, which are not documented...
Daniel Dunbar [Fri, 4 Nov 2011 17:14:44 +0000 (17:14 +0000)]
utils: Remove build-for-llvm-top.sh and ModuleInfo.txt, which are not documented and I am pretty sure no one uses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143708 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoRemove declarations for functions that don't exist (and never have).
Chad Rosier [Fri, 4 Nov 2011 17:07:11 +0000 (17:07 +0000)]
Remove declarations for functions that don't exist (and never have).
Patch by Anders Waldenborg <anders@0x63.nu>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143705 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoSimplify code.
Benjamin Kramer [Fri, 4 Nov 2011 13:52:17 +0000 (13:52 +0000)]
Simplify code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143695 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoMove comment to the correct place.
Bill Wendling [Fri, 4 Nov 2011 09:34:06 +0000 (09:34 +0000)]
Move comment to the correct place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143690 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoMake the Mangler an ivar so that it doesn't have to be passed around everywhere.
Bill Wendling [Fri, 4 Nov 2011 09:30:19 +0000 (09:30 +0000)]
Make the Mangler an ivar so that it doesn't have to be passed around everywhere.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143689 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoRefactor the MCContext so that it's an ivar instead of a local which is passed
Bill Wendling [Fri, 4 Nov 2011 09:24:40 +0000 (09:24 +0000)]
Refactor the MCContext so that it's an ivar instead of a local which is passed
around. This is important for some future work as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143688 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd intrinsics for X86 vcvtps2ph and vcvtph2ps instructions
Craig Topper [Fri, 4 Nov 2011 06:59:49 +0000 (06:59 +0000)]
Add intrinsics for X86 vcvtps2ph and vcvtph2ps instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143683 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd intrinsics for X86 vcvtps2ph and vcvtph2ps instructions
Craig Topper [Fri, 4 Nov 2011 06:59:21 +0000 (06:59 +0000)]
Add intrinsics for X86 vcvtps2ph and vcvtph2ps instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143682 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoFix some minor scheduling itinerary bug. It's not expected to actually affect codegen.
Evan Cheng [Fri, 4 Nov 2011 01:48:58 +0000 (01:48 +0000)]
Fix some minor scheduling itinerary bug. It's not expected to actually affect codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143675 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoutils: Rename the "llvmbuild" script to llvm-compilers-check.
Daniel Dunbar [Fri, 4 Nov 2011 01:09:02 +0000 (01:09 +0000)]
utils: Rename the "llvmbuild" script to llvm-compilers-check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143673 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoIndentation.
Chad Rosier [Fri, 4 Nov 2011 00:58:10 +0000 (00:58 +0000)]
Indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143670 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoAdd fast-isel support for returning i1, i8, and i16.
Chad Rosier [Fri, 4 Nov 2011 00:50:21 +0000 (00:50 +0000)]
Add fast-isel support for returning i1, i8, and i16.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143669 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoSpeculatively revert "DeadStoreElimination can now trim the size of a store if
Daniel Dunbar [Fri, 4 Nov 2011 00:48:26 +0000 (00:48 +0000)]
Speculatively revert "DeadStoreElimination can now trim the size of a store if
the end of it is dead.", which appears to break bootstrapping LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143668 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild: Use right Echo variable and use Verb appropriately.
Daniel Dunbar [Thu, 3 Nov 2011 23:01:50 +0000 (23:01 +0000)]
build: Use right Echo variable and use Verb appropriately.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143664 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/Make: Integrate llvm-build into Makefiles.
Daniel Dunbar [Thu, 3 Nov 2011 22:46:21 +0000 (22:46 +0000)]
build/Make: Integrate llvm-build into Makefiles.
 - Basically, we coordinate with llvm-build to create a Makefile fragment we can
   easily use. For now, nothing is wired in except the support to automatically
   regenerate this file when necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143662 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Add initial code for --write-make-fragment.
Daniel Dunbar [Thu, 3 Nov 2011 22:46:19 +0000 (22:46 +0000)]
llvm-build: Add initial code for --write-make-fragment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143661 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoReapply r143206, with fixes. Disallow physical register lifetimes
Dan Gohman [Thu, 3 Nov 2011 21:49:52 +0000 (21:49 +0000)]
Reapply r143206, with fixes. Disallow physical register lifetimes
across calls, and only check for nested dependences on the special
call-sequence-resource register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143660 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoutils: Remove (way) old nightly test scripts, I don't think anyone uses them and...
Daniel Dunbar [Thu, 3 Nov 2011 21:03:53 +0000 (21:03 +0000)]
utils: Remove (way) old nightly test scripts, I don't think anyone uses them and LNT has way better tools than this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143655 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-config-2: Implement build system support for getting the variables we only
Daniel Dunbar [Thu, 3 Nov 2011 21:01:36 +0000 (21:01 +0000)]
llvm-config-2: Implement build system support for getting the variables we only
know at build time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143649 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild/Make: Add support for INCLUDE_BUILD_DIR make variable, to specify that
Daniel Dunbar [Thu, 3 Nov 2011 21:01:32 +0000 (21:01 +0000)]
build/Make: Add support for INCLUDE_BUILD_DIR make variable, to specify that
component needs to include files from its ObjDir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143648 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoReverted r143600 - selector reference change
Pete Cooper [Thu, 3 Nov 2011 20:47:50 +0000 (20:47 +0000)]
Reverted r143600 - selector reference change

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143646 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoKeep the Crack language as an external project.
Bill Wendling [Thu, 3 Nov 2011 20:10:01 +0000 (20:10 +0000)]
Keep the Crack language as an external project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143643 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Avoid followlinks keyword argument to os.walk.
Daniel Dunbar [Thu, 3 Nov 2011 19:45:52 +0000 (19:45 +0000)]
llvm-build: Avoid followlinks keyword argument to os.walk.
 - llvm-build should now be Python2.4 compatible as best I know.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143641 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agofixed global array handling for ptx to use the correct bit widths
Dan Bailey [Thu, 3 Nov 2011 19:24:46 +0000 (19:24 +0000)]
fixed global array handling for ptx to use the correct bit widths

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143640 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agobuild: Add initial cut at LLVMBuild.txt files.
Daniel Dunbar [Thu, 3 Nov 2011 18:53:17 +0000 (18:53 +0000)]
build: Add initial cut at LLVMBuild.txt files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agoDeadStoreElimination can now trim the size of a store if the end of it is dead.
Pete Cooper [Thu, 3 Nov 2011 18:01:56 +0000 (18:01 +0000)]
DeadStoreElimination can now trim the size of a store if the end of it is dead.

Only currently done if the later store is writing to a power of 2 address or
has the same alignment as the earlier store as then its likely to not break up
large stores into smaller ones

Fixes <rdar://problem/10140300>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143630 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Update --write-llvmbuild to write out a standard LLVM style file
Daniel Dunbar [Thu, 3 Nov 2011 17:56:31 +0000 (17:56 +0000)]
llvm-build: Update --write-llvmbuild to write out a standard LLVM style file
header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143629 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Add "--write-library-table" option for generating the C++ library
Daniel Dunbar [Thu, 3 Nov 2011 17:56:28 +0000 (17:56 +0000)]
llvm-build: Add "--write-library-table" option for generating the C++ library
dependency table used by llvm-config.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143628 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agodocs: Sketch docs for llvm-build tool.
Daniel Dunbar [Thu, 3 Nov 2011 17:56:24 +0000 (17:56 +0000)]
docs: Sketch docs for llvm-build tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143627 91177308-0d34-0410-b5e6-96231b3b80d8

12 years agollvm-build: Add --write-llvmbuild option, which writes out the component tree.
Daniel Dunbar [Thu, 3 Nov 2011 17:56:21 +0000 (17:56 +0000)]
llvm-build: Add --write-llvmbuild option, which writes out the component tree.
 - Useful for migrating or auto-upgrading the format schema.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143626 91177308-0d34-0410-b5e6-96231b3b80d8