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
Rafael Espindola
b052728368
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
2011-11-04 19:00:29 +00:00
Bill Wendling
931d4c2043
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
2011-11-04 18:48:00 +00:00
Eli Friedman
84a6126937
Add missing includes/decls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143722 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 18:45:34 +00:00
Dan Gohman
abe776a794
Add tests for existing InstSimplify features.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143721 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 18:39:16 +00:00
Dan Gohman
71d0503157
Teach instsimplify to simplify calls to undef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143719 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 18:32:42 +00:00
Eli Friedman
73a1ad8f05
Add missing includes/class declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 18:30:30 +00:00
Eli Friedman
5cdf0700c7
Add missing forward declarations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143717 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 18:29:09 +00:00
Eli Friedman
06138ac569
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
2011-11-04 18:19:43 +00:00
Eli Friedman
b39e25ef2c
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
2011-11-04 18:11:56 +00:00
Bob Wilson
fb067ed485
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
2011-11-04 17:57:13 +00:00
Eli Friedman
5b7cc334c8
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
2011-11-04 17:29:35 +00:00
Daniel Dunbar
cb3bc18af7
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
2011-11-04 17:14:44 +00:00
Chad Rosier
2fb655eefe
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
2011-11-04 17:07:11 +00:00
Benjamin Kramer
efd2d5e1c4
Simplify code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143695 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 13:52:17 +00:00
Bill Wendling
24c5b36841
Move comment to the correct place.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143690 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 09:34:06 +00:00
Bill Wendling
a7280fd619
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
2011-11-04 09:30:19 +00:00
Bill Wendling
b9bff969e9
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
2011-11-04 09:24:40 +00:00
Craig Topper
018262768f
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
2011-11-04 06:59:49 +00:00
Craig Topper
517497cce0
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
2011-11-04 06:59:21 +00:00
Evan Cheng
c39916b166
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
2011-11-04 01:48:58 +00:00
Daniel Dunbar
903aa8d00f
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
2011-11-04 01:09:02 +00:00
Chad Rosier
8e4a2e4f73
Indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143670 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-04 00:58:10 +00:00
Chad Rosier
f470cbbad2
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
2011-11-04 00:50:21 +00:00
Daniel Dunbar
28eb1c5217
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
2011-11-04 00:48:26 +00:00
Daniel Dunbar
d5574f62d3
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
2011-11-03 23:01:50 +00:00
Daniel Dunbar
e29c3167d4
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
2011-11-03 22:46:21 +00:00
Daniel Dunbar
02271a7b42
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
2011-11-03 22:46:19 +00:00
Dan Gohman
65fd6564b8
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
2011-11-03 21:49:52 +00:00