Commit Graph

77750 Commits

Author SHA1 Message Date
Craig Topper
28692044db Add AVX2 VPMOVMASK instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143904 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-07 03:20:35 +00:00
Craig Topper
69f5df7778 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
2011-11-07 02:00:04 +00:00
Craig Topper
9595ede514 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
2011-11-07 00:54:28 +00:00
NAKAMURA Takumi
2b37946051 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
2011-11-06 23:37:22 +00:00
Craig Topper
c8eb880a7f More AVX2 instructions and their intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143895 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 23:04:08 +00:00
Benjamin Kramer
5908536673 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
2011-11-06 20:37:06 +00:00
Benjamin Kramer
a7b966fc8d Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143890 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 20:36:50 +00:00
Daniel Dunbar
6ce1b75b43 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
2011-11-06 19:57:04 +00:00
Daniel Dunbar
51dc528e30 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
2011-11-06 18:04:49 +00:00
Daniel Dunbar
589fbb1770 ADT/StringRef: Add ::lower() and ::upper() methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143880 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 18:04:43 +00:00
Daniel Dunbar
cc4bcba0b9 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
2011-11-06 18:04:23 +00:00
Andrew Trick
5aab6381e4 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
2011-11-06 17:59:24 +00:00
Peter Collingbourne
5ced70d8f8 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
2011-11-06 16:45:46 +00:00
NAKAMURA Takumi
0dd4f10c99 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
2011-11-06 06:51:58 +00:00
Craig Topper
27e5d0c72a Add more AVX2 instructions and intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143861 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-06 06:12:20 +00:00
Chandler Carruth
2f5d547aa6 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
2011-11-05 21:18:59 +00:00
Chad Rosier
42536af5ce 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
2011-11-05 20:16:15 +00:00
Benjamin Kramer
7494a12a65 Update lit's list of tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143815 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05 16:20:52 +00:00
Benjamin Kramer
5eccd36f1a 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
2011-11-05 16:01:13 +00:00
Benjamin Kramer
80cc2598f8 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
2011-11-05 15:35:00 +00:00
Benjamin Kramer
3f4c979e1b Twinify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143811 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05 13:11:25 +00:00
Benjamin Kramer
ef56d1d35d 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
2011-11-05 12:13:21 +00:00
Benjamin Kramer
c25c908977 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
2011-11-05 11:52:44 +00:00
Nick Lewycky
336b88dac8 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
2011-11-05 10:48:42 +00:00
Benjamin Kramer
c09b770c13 Fix pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143802 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05 09:45:17 +00:00
Benjamin Kramer
41a964931a 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
2011-11-05 08:57:40 +00:00
Daniel Dunbar
965d2feedd 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
2011-11-05 06:30:03 +00:00
Peter Collingbourne
5f73f68d39 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
2011-11-05 04:17:28 +00:00
Peter Collingbourne
988fdc5f28 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
2011-11-05 04:17:25 +00:00
Peter Collingbourne
5d0f76199b 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
2011-11-05 04:17:20 +00:00
Daniel Dunbar
195c6f3663 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
2011-11-05 04:07:49 +00:00
Daniel Dunbar
57574fa35e 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
2011-11-05 04:07:43 +00:00
Chad Rosier
38f5c0da6d 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
2011-11-05 00:02:56 +00:00
Pete Cooper
9c58aa743d Added missing &. Fixes <rdar://problem/10393723>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143753 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 23:49:14 +00:00
Eli Friedman
bd00a934c6 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
2011-11-04 23:46:11 +00:00
Chad Rosier
451afbc6a2 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
2011-11-04 23:45:39 +00:00
Daniel Dunbar
774ec45f3d 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
2011-11-04 23:40:14 +00:00
Daniel Dunbar
20fb32b392 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
2011-11-04 23:40:11 +00:00
Daniel Dunbar
1688961d4e 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
2011-11-04 23:10:37 +00:00
Chad Rosier
a4e07270bc 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
2011-11-04 23:09:49 +00:00
Daniel Dunbar
a54c8ea8cf 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
2011-11-04 23:04:05 +00:00
Chad Rosier
44e895761f 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
2011-11-04 22:29:00 +00:00
Bruno Cardoso Lopes
a0dd4cbc87 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
2011-11-04 22:24:36 +00:00
Bill Wendling
5c3a9f7dd6 Fix some misplaced punctuation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143737 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 20:40:41 +00:00
Rafael Espindola
aa257278ee Add triple to test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143735 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 20:20:34 +00:00
Daniel Dunbar
7b1dd9aaf1 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
2011-11-04 19:04:42 +00:00
Daniel Dunbar
a0c8d2d007 build/cmake: Coalesce in-tree sanity checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143730 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 19:04:39 +00:00
Daniel Dunbar
275f686e3b 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
2011-11-04 19:04:37 +00:00
Daniel Dunbar
c8f399d0c7 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
2011-11-04 19:04:35 +00:00
Daniel Dunbar
b0d9ce567f 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
2011-11-04 19:04:23 +00:00