Jakob Stoklund Olesen
5d6a4584d9
Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions.
...
Like V_SET0, these instructions are expanded by ExpandPostRA to xorps /
vxorps so they can participate in execution domain swizzling.
This also makes the AVX variants redundant.
llvm-svn: 145440
2011-11-29 22:27:25 +00:00
Stepan Dyatkovskiy
56753569db
Potential bug in RewriteLoopBodyWithConditionConstant: use iterator should not be changed inside the uses enumeration loop.
...
llvm-svn: 145432
2011-11-29 20:34:39 +00:00
Eric Christopher
58dc4573db
Update the docs for some of the test-suite configure changes and
...
be more clear about what to do and how to do it.
llvm-svn: 145426
2011-11-29 19:40:56 +00:00
Chad Rosier
0ff2f46d12
If fast-isel fails, remove dead instructions generated during the failed
...
attempt.
llvm-svn: 145425
2011-11-29 19:40:47 +00:00
Rafael Espindola
90c572b822
grammar.
...
llvm-svn: 145423
2011-11-29 19:38:09 +00:00
Andrew Trick
a6c63bda2e
comment.
...
llvm-svn: 145422
2011-11-29 19:33:49 +00:00
Daniel Dunbar
4e00f5f8fd
build/CMake: Finish removal of add_llvm_library_dependencies.
...
llvm-svn: 145420
2011-11-29 19:25:30 +00:00
Benjamin Kramer
0cf194e55c
Add a link to Bill's blog post.
...
llvm-svn: 145419
2011-11-29 19:24:11 +00:00
Rafael Espindola
8e06adec06
Release notes for segmented stacks.
...
Patch by Sanjoy Das.
llvm-svn: 145416
2011-11-29 19:08:23 +00:00
Duncan Sands
97cc6da56c
Fix a theoretical problem (not seen in the wild): if different instances of a
...
weak variable are compiled by different compilers, such as GCC and LLVM, while
LLVM may increase the alignment to the preferred alignment there is no reason to
think that GCC will use anything more than the ABI alignment. Since it is the
GCC version that might end up in the final program (as the linkage is weak), it
is wrong to increase the alignment of loads from the global up to the preferred
alignment as the alignment might only be the ABI alignment.
Increasing alignment up to the ABI alignment might be OK, but I'm not totally
convinced that it is. It seems better to just leave the alignment of weak
globals alone.
llvm-svn: 145413
2011-11-29 18:26:38 +00:00
Michael J. Spencer
5fade79478
MC/X86/COFF: Allow quotes in names when targeting MS/Windows,
...
as MC is the only assembler we support.
This splits MS/Windows and GNU/Windows ASM infos into two seperate classes.
While there is currently only one difference, full MS C++ ABI support will
require many more.
llvm-svn: 145409
2011-11-29 18:00:06 +00:00
Danil Malyshev
5ce4e1a9d3
Fixed ObjectFile functions:
...
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145408
2011-11-29 17:40:10 +00:00
Elena Demikhovsky
735cff1fa8
Fixed vsqrt.ss intrinsic usage - order of input operands was wrong.
...
Added a test.
Thanks Bruno for reviewing the patch.
llvm-svn: 145403
2011-11-29 15:00:45 +00:00
Craig Topper
637e60afdd
Fix shuffle decoding for memory forms for (V)SHUFPS/D.
...
llvm-svn: 145392
2011-11-29 07:58:09 +00:00
Craig Topper
4550fc2649
Fix issues in shuffle decoding around VPERM* instructions. Fix shuffle decoding for VSHUFPS/D for 256-bit types. Add pattern matching for memory forms of VPERMILPS/VPERMILPD.
...
llvm-svn: 145390
2011-11-29 07:49:05 +00:00
NAKAMURA Takumi
b92661d00a
[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.
...
clang/lib/Driver/Driver.cpp: Don't pass through negative exit status, or parent would be confused.
llvm::sys::Program::Wait(): Suppose 0x8000XXXX and 0xC000XXXX as abnormal exit code and pass it as negative value.
Win32 Exception Handler: Exit with ExceptionCode on an unhandle exception.
llvm-svn: 145389
2011-11-29 07:47:04 +00:00
NAKAMURA Takumi
9e88060bdd
lit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too.
...
Thanks to Francois, to let me know.
llvm-svn: 145381
2011-11-29 06:40:50 +00:00
Bob Wilson
d6042faeb9
Install llvmCore to /usr/local. <rdar://problem/10390708>
...
llvm-svn: 145378
2011-11-29 06:11:56 +00:00
Craig Topper
aca91b9f14
Fix VINSERTF128/VEXTRACTF128 to be marked as FP instructions. Allow execution dependency fix pass to convert them to their integer equivalents when AVX2 is enabled.
...
llvm-svn: 145376
2011-11-29 05:37:58 +00:00
Craig Topper
a6c1d25798
Correctly mark VPERM2F128 as being an FP instruction and add execution domain fixing support to convert it to VPERM2I128 for AVX2.
...
llvm-svn: 145370
2011-11-29 03:57:34 +00:00
Bill Wendling
d26e0c541c
MachO doesn't support the protected visibility. Don't default to 'global' here. <rdar://problem/10396775>
...
llvm-svn: 145368
2011-11-29 02:39:58 +00:00
Andrew Trick
63f81b112e
SCEV fix. In general, Add/Mul expressions should not inherit NSW/NUW.
...
This reverts r139450, fixes r139453, and adds much needed comments and a
unit test.
llvm-svn: 145367
2011-11-29 02:16:38 +00:00
Andrew Trick
975fe6c09b
Make SCEV print <nsw><nuw> for Add/MulExpr.
...
llvm-svn: 145364
2011-11-29 02:06:35 +00:00
Andrew Trick
a033165cf9
Filecheckize.
...
llvm-svn: 145363
2011-11-29 02:05:23 +00:00
Peter Collingbourne
1dac65bf58
Remove content that has been moved to Clang release notes.
...
llvm-svn: 145362
2011-11-29 02:04:48 +00:00
Peter Collingbourne
70d1e1ce8f
Fix grammar.
...
llvm-svn: 145361
2011-11-29 02:04:44 +00:00
Bill Wendling
0f9a3f91ae
On MachO, the pointer to the personality function should always be in the
...
non_lazy_symbol_pointers section (__IMPORT,__pointers). Ignore the 'hidden' part
since that will place it in the wrong section.
<rdar://problem/10443720>
llvm-svn: 145356
2011-11-29 01:43:20 +00:00
Daniel Dunbar
7815841fb4
build/cmake: Switch to using llvm-build computed dependencies.
...
- I verified locally that the current dependency lists are identical.
- This makes add_llvm_library_dependencies() a no-op. I'll remove it once this
change passes the bots.
llvm-svn: 145355
2011-11-29 01:31:52 +00:00
Eli Friedman
1d55ba306b
Zap some completely ridiculous code. There's probably a miscompile here, but I don't really want to try to write a testcase involving an invoke returning a pointer to a varargs function...
...
llvm-svn: 145347
2011-11-29 01:18:23 +00:00
Jim Grosbach
168778090c
Better fix for ARM MOVT relocation encoding of thumb bit.
...
Replaces r145318 with a more targetted fix for the relocation handling.
llvm-svn: 145346
2011-11-29 01:15:25 +00:00
Andrew Trick
4c2bb1ade3
Reenable this IndVars unit test.
...
SCEV can't optimize undef in all cases, which is a separate issue from this test case.
llvm-svn: 145343
2011-11-29 00:52:04 +00:00
Daniel Dunbar
93f8ddd97a
build: Update CMakeLists.txt.
...
llvm-svn: 145341
2011-11-29 00:33:14 +00:00
Chandler Carruth
6bf1babd92
Add a link from the LLVM release notes to the Clang release notes.
...
I suspect we could profitably remove/move some of the bullet points
under Clang here to the Clang notes in order to keep things clean on
both sides. Unless I hear objections I'll start doing that once folks
have read over the Clang notes a bit.
llvm-svn: 145340
2011-11-29 00:32:43 +00:00
Daniel Dunbar
7c4510b4de
edis: Sink EDMain.cpp into lib/MC/MCDisassembler.
...
- This fixes some layering violations and matches how we handle the llvm-c lib,
for example.
llvm-svn: 145338
2011-11-29 00:25:57 +00:00
Daniel Dunbar
85c716fd09
edis: Don't do the target initialization in EDGetDisassembler, this is contrary
...
to the way we currently expect target selection to work -- clients are supposed
to have control over what targets are available.
llvm-svn: 145331
2011-11-29 00:06:58 +00:00
Daniel Dunbar
7e05a207c4
llvm-c: Add a few missing InitializeAll* functions.
...
llvm-svn: 145330
2011-11-29 00:06:55 +00:00
Daniel Dunbar
f1c738305f
build/Make: edis isn't built as a shared library anymore, remove related cruft from the Makefile.
...
llvm-svn: 145329
2011-11-29 00:06:53 +00:00
Daniel Dunbar
36e9b032cd
llvmbuild/CMake: Update CMake output fragment to include explicit library
...
dependency information.
llvm-svn: 145328
2011-11-29 00:06:50 +00:00
Rafael Espindola
1928474c5f
Expand the part about CFI a bit.
...
llvm-svn: 145324
2011-11-28 23:55:49 +00:00
Devang Patel
792ac21c3f
Add documentation for llvm-cov.
...
llvm-svn: 145319
2011-11-28 23:39:25 +00:00
Jim Grosbach
ea721eb4b3
Thumb2 only force the fixup thumb bit for data relocations.
...
rdar://10493453
llvm-svn: 145318
2011-11-28 23:39:00 +00:00
Eli Friedman
bc47555417
Add a missing safety check to ProcessUGT_ADDCST_ADD. Fixes PR11438.
...
llvm-svn: 145316
2011-11-28 23:32:19 +00:00
Jim Grosbach
d6fb8be618
Remove obsolete FIXME.
...
llvm-svn: 145313
2011-11-28 23:23:58 +00:00
Eli Friedman
473a76a0df
Make SelectionDAG::InferPtrAlignment use llvm::ComputeMaskedBits instead of duplicating the logic for globals. Make llvm::ComputeMaskedBits handle GlobalVariables slightly more aggressively, to match what InferPtrAlignment knew how to do.
...
llvm-svn: 145304
2011-11-28 22:48:22 +00:00
Evan Cheng
1435aa5fdc
Revert r145273 and fix in SelectionDAG::InferPtrAlignment() instead.
...
Conservatively returns zero when the GV does not specify an alignment nor is it
initialized. Previously it returns ABI alignment for type of the GV. However, if
the type is a "packed" type, then the under-specified alignments is attached to
the load / store instructions. In that case, the alignment of the type cannot be
trusted.
rdar://10464621
llvm-svn: 145300
2011-11-28 22:37:34 +00:00
Daniel Dunbar
64fe398fc0
Fix some possible gcc-4.2 may be used uninitialized warnings.
...
llvm-svn: 145292
2011-11-28 22:19:32 +00:00
Nick Lewycky
09cd2dc94d
Don't define these unless we plan to use them.
...
llvm-svn: 145289
2011-11-28 22:14:02 +00:00
Joe Abbey
3ab17e44c2
Merging two bullet points into one
...
llvm-svn: 145287
2011-11-28 22:07:12 +00:00
Evan Cheng
567aa3dfb3
DAG combine should not increase alignment of loads / stores with alignment less
...
than ABI alignment. These are loads / stores from / to "packed" data structures.
Their alignments are intentionally under-specified.
rdar://10301431
llvm-svn: 145273
2011-11-28 20:42:56 +00:00
Evan Cheng
1ed975b097
Add missing avx pattern.
...
llvm-svn: 145272
2011-11-28 20:27:23 +00:00