Pete Cooper
2d32b86543
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
2011-11-03 18:01:56 +00:00
Daniel Dunbar
fb6d79a58e
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
2011-11-03 17:56:31 +00:00
Daniel Dunbar
efe2f644ec
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
2011-11-03 17:56:28 +00:00
Daniel Dunbar
2adb2a55ec
docs: Sketch docs for llvm-build tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143627 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:24 +00:00
Daniel Dunbar
43120df44b
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
2011-11-03 17:56:21 +00:00
Daniel Dunbar
00b4b4f5cb
llvm-build: Add --print-tree command line option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143625 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:18 +00:00
Daniel Dunbar
86c119a507
llvm-build: Fill in some details w.r.t. component's parents.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:16 +00:00
Daniel Dunbar
1cf14aff1b
llvm-build: Validate information on the loaded components and form the topological ordering among them (as well as validating that there are no cycles).
...
- Currently we require that all references between components (except the parent relation) fit into a DAG -- this could be relaxed later if it ever proves to be useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143623 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:12 +00:00
Daniel Dunbar
9da6b12441
llvm-build: Fill in more of component parsing to be more strict and
...
differentiate between strings and lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143622 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:10 +00:00
Daniel Dunbar
df578254a1
llvm-build: Sketch code to load LLVMBuild.txt files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143621 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:06 +00:00
Daniel Dunbar
ad5e0122c1
build: Stub out llvm-build utility tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143620 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:56:03 +00:00
Daniel Dunbar
cf427c2db4
docs: Add initial docs on LLVMBuild organization.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143619 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:55:59 +00:00
Daniel Dunbar
62b2fea43d
llvm-config-2: Implement component dependency traversal, implement support for 'all', and fix a few other minor bugs.
...
- Still doesn't use actual generated component table, but that is now just a matter of wiring into the build system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143617 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:30:19 +00:00
Daniel Dunbar
7fdd291c91
llvm-config: Start stubbing out a C++ version of llvm-config (as llvm-config-2,
...
for now).
- Mostly complete except for the data that needs to come from the build system
or the dependencies.
- Has some small improvements from current llvm-config:
o Uses TargetRegistry directly to get some information.
o Designed to work correctly when used from a CMake build tree (relatively
untested currently) (although pcc fixed this recently for old llvm-config).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143616 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 17:30:16 +00:00
Craig Topper
98e0b9c86d
Add new X86 AVX2 VBROADCAST instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143612 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 07:35:53 +00:00
Galina Kistanova
b65bc5a3dc
Cleaned text, fixed HTML.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143607 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 05:57:26 +00:00
Chad Rosier
463fe24f1d
Add support for sign-extending non-legal types in SelectSIToFP().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143603 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 02:04:59 +00:00
Pete Cooper
d1ffc739c1
Treat objc selector reference globals as invariant so that MachineLICM can hoist them out of loops. Fixes <rdar://problem/6027699>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143600 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 00:56:36 +00:00
Chad Rosier
cde5464970
Remove some cruft from the BitcodeWriter, while still maintaining backward
...
compatibility in the BitcodeReader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143598 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 00:14:01 +00:00
Lang Hames
a1e78888d9
Fixed parameter name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143594 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 23:37:04 +00:00
Chad Rosier
eefb0de6dc
Removed unused variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143591 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 23:21:55 +00:00
Bill Wendling
9c674bb012
An array of chars of length 8 will also cause the stack protector to be inserted
...
into the function. Reflect that here so that the array will be placed next to
the SP.
<rdar://problem/10128329>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143590 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 23:20:58 +00:00
Lang Hames
1a1d1fcc0b
Try to lower memset/memcpy/memmove to vector instructions on ARM where the alignment permits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143582 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 22:52:45 +00:00
Galina Kistanova
d69568723d
Few corrections on the document page.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143578 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 22:05:18 +00:00
Nick Lewycky
985cc355ed
I added the first test to run llvm-dwarfdump.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143571 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 21:02:27 +00:00
Nick Lewycky
6c1a703e54
Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
...
implied by directory index zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143570 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 20:55:33 +00:00
Tobias Grosser
d72abcb162
docs: Fix two typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143565 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:51:04 +00:00
Daniel Dunbar
b16ec681a5
build/Make: Update for rename of show-diagnostics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143564 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:48:19 +00:00
Michael J. Spencer
3314c26475
object: Add operator < for SymbolRef and SectionRef.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:41 +00:00
Michael J. Spencer
783d88793a
object/COFF: Properly initalize uses of DataRefImpl.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143562 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:26 +00:00
Michael J. Spencer
c8a55a660e
Object/Archive: Add symbol table iteration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 19:33:12 +00:00
Chad Rosier
e07cd5e40a
Add support for comparing integer non-legal types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 18:08:25 +00:00
Owen Anderson
81550dc0a8
Fix the issue that r143552 was trying to address the _right_ way. One-register lists are legal on LDM/STM instructions, but we should not print the PUSH/POP aliases when they appear. This fixes round tripping on this instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143557 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 18:03:14 +00:00
Kevin Enderby
dba9a17f9a
Replace tabs I added in this new line of code with spaces.
...
Thanks to Nick for spotting this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143556 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:56:38 +00:00
Daniel Dunbar
0738e76381
tests: Clean up tests/CMakeLists.txt to drop some variable configuration we no
...
longer need substitutions for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143555 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:54:51 +00:00
Owen Anderson
244006db5c
The rules disallowing single-register reglist operands only apply to the POP alias, not to LDM/STM instructions. Revert r143552.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143553 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:46:18 +00:00
Owen Anderson
e31b42a6f5
Register list operands are not allowed to contain only a single register. Alternate encodings are used in that case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143552 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:41:23 +00:00
Benjamin Kramer
5a83264fa2
Don't print two 0x prefixes when printing an address.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143549 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:24:36 +00:00
Chandler Carruth
05a484b909
Add back the top-level target for 'llvm-config' and the dependency edge
...
to force it to build after all library targets so it has complete
dependency information. This should fix broken 'make install' with
CMake.
This is a partial revert of r143540, but it doesn't revert the most
important part of that change: removing the dependency edge from LLVM
tools to the llvm-config script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143548 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:22:57 +00:00
Chad Rosier
87633026d6
Factor out an EmitIntExt function. No functionality change intended.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143547 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:20:24 +00:00
Andrew Trick
d3714b60b5
Rewrite LinearFunctionTestReplace to handle pointer-type IVs.
...
We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
second rewrite of the code attempts to deal with these cases systematically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143546 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 17:19:57 +00:00
Chandler Carruth
a71b7b0911
Fix a typo noticed by Peter Collingbourne. No one depends on this
...
working today, but it shouldn't corrupt state for some poor soul to
debug later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143545 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 16:55:57 +00:00
Daniel Dunbar
6c13db4b4f
docs: Remove an out-of-date and unnecessary tool list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143544 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 15:57:05 +00:00
Daniel Dunbar
30288277d9
docs: Separate development process type of documentation from programming
...
documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143543 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 15:56:58 +00:00
Daniel Dunbar
1bb568d2a5
docs: Remove UsingLibraries page, which was inaccurate / out-of-date and not
...
particularly useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143542 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 15:56:55 +00:00
Daniel Dunbar
47c30da847
build/Make: Get rid of llvm-config-perobj, which isn't used anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143541 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 15:56:52 +00:00
Daniel Dunbar
89975e5542
build/CMake: Remove llvm-config.target used to serialize tool builds on
...
llvm-config build, there is no longer a point to this after Chandler's work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143540 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 15:56:38 +00:00
Chandler Carruth
37efc9fe42
Begin collecting some of the statistics for block placement discussed on
...
the mailing list. Suggestions for other statistics to collect would be
awesome. =]
Currently these are implemented as a separate pass guarded by a separate
flag. I'm not thrilled by that, but I wanted to be able to collect the
statistics for the old code placement as well as the new in order to
have a point of comparison. I'm planning on folding them into the single
pass if / when there is only one pass of interest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143537 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 07:17:12 +00:00
Craig Topper
205e3378fd
More AVX2 instructions and intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143536 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 06:54:17 +00:00
Chandler Carruth
94dffd2bb0
Add parentheses to disambiguate the precedence of these operations and
...
silence -Wparentheses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143534 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02 05:43:44 +00:00