oota-llvm.git
12 years agoAdd a few functions to TargetLibraryInfo.
Chad Rosier [Wed, 30 Nov 2011 19:19:00 +0000 (19:19 +0000)]
Add a few functions to TargetLibraryInfo.

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

12 years agoARM parsing for VLD1 two register all lanes, no writeback.
Jim Grosbach [Wed, 30 Nov 2011 18:21:25 +0000 (18:21 +0000)]
ARM parsing for VLD1 two register all lanes, no writeback.

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

12 years agoAdd test arch to make it pass on non x86 targets
Nadav Rotem [Wed, 30 Nov 2011 17:34:28 +0000 (17:34 +0000)]
Add test arch to make it pass on non x86 targets

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

12 years agoX86: Turns out bulldozer also supports sse42 and lzcnt.
Benjamin Kramer [Wed, 30 Nov 2011 15:48:16 +0000 (15:48 +0000)]
X86: Turns out bulldozer also supports sse42 and lzcnt.

While at it remove the barcelona/instanbul/shanghai subtargets, they're
unsupported by GCC and look pretty broken.

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

12 years agoX86: Add subtargets for AMD's bulldozer.
Benjamin Kramer [Wed, 30 Nov 2011 15:27:46 +0000 (15:27 +0000)]
X86: Add subtargets for AMD's bulldozer.

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

12 years agoAdd a tripple to the test
Nadav Rotem [Wed, 30 Nov 2011 11:20:56 +0000 (11:20 +0000)]
Add a tripple to the test

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

12 years agoX86: PerformOrCombine introduced a vselect node with a wrong order of operands. This...
Nadav Rotem [Wed, 30 Nov 2011 10:13:37 +0000 (10:13 +0000)]
X86: PerformOrCombine introduced a vselect node with a wrong order of operands. This bug was introduced when a dedicated blend sdnode was replaced with the vselect node (in 139479).

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

12 years agoAdd instruction selection support for AVX2 horizontal add/sub instructions.
Craig Topper [Wed, 30 Nov 2011 09:10:50 +0000 (09:10 +0000)]
Add instruction selection support for AVX2 horizontal add/sub instructions.

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

12 years agoMention that -O4 does result in more optimization when used with
Duncan Sands [Wed, 30 Nov 2011 08:46:05 +0000 (08:46 +0000)]
Mention that -O4 does result in more optimization when used with
-fplugin-arg-dragonegg-enable-gcc-optzns, though it usually isn't
a win.

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

12 years agoMerge VPERM2F128/VPERM2I128 ISD node types.
Craig Topper [Wed, 30 Nov 2011 07:47:51 +0000 (07:47 +0000)]
Merge VPERM2F128/VPERM2I128 ISD node types.

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

12 years agoBetter test case found in duplicate PR10570.
Andrew Trick [Wed, 30 Nov 2011 06:26:42 +0000 (06:26 +0000)]
Better test case found in duplicate PR10570.

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

12 years agoMerge decoding of VPERMILPD and VPERMILPS shuffle masks. Merge X86ISD node type for...
Craig Topper [Wed, 30 Nov 2011 06:25:25 +0000 (06:25 +0000)]
Merge decoding of VPERMILPD and VPERMILPS shuffle masks. Merge X86ISD node type for VPERMILPD/PS. Add instruction selection support for VINSERTI128/VEXTRACTI128.

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

12 years agoLSR: handle the expansion of phi operands that use postinc forms of the IV.
Andrew Trick [Wed, 30 Nov 2011 06:07:54 +0000 (06:07 +0000)]
LSR: handle the expansion of phi operands that use postinc forms of the IV.

Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed.

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

12 years agoWhitespace.
Chad Rosier [Wed, 30 Nov 2011 01:59:59 +0000 (01:59 +0000)]
Whitespace.

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

12 years agoAlphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
Chad Rosier [Wed, 30 Nov 2011 01:51:49 +0000 (01:51 +0000)]
Alphabetize TargetLibraryInfo enum and fix doxygen comments.  No functional
change intended.

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

12 years agollvm_unreachable() is not for user diagnostics....
Jim Grosbach [Wed, 30 Nov 2011 01:15:55 +0000 (01:15 +0000)]
llvm_unreachable() is not for user diagnostics....

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

12 years agoARM parsing aliases for VLD1 single register all lanes.
Jim Grosbach [Wed, 30 Nov 2011 01:09:44 +0000 (01:09 +0000)]
ARM parsing aliases for VLD1 single register all lanes.

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

12 years agoAdd support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
Chad Rosier [Tue, 29 Nov 2011 23:57:10 +0000 (23:57 +0000)]
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo.  Disable
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410

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

12 years agoTidy up a bit.
Jim Grosbach [Tue, 29 Nov 2011 23:51:09 +0000 (23:51 +0000)]
Tidy up a bit.

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

12 years agoAdd comment.
Jim Grosbach [Tue, 29 Nov 2011 23:33:40 +0000 (23:33 +0000)]
Add comment.

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

12 years agoARM parsing aliases for data-size suffices on VST1.
Jim Grosbach [Tue, 29 Nov 2011 23:21:31 +0000 (23:21 +0000)]
ARM parsing aliases for data-size suffices on VST1.

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

12 years agoFileCheckize.
Jakob Stoklund Olesen [Tue, 29 Nov 2011 23:09:16 +0000 (23:09 +0000)]
FileCheckize.

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

12 years agoChange names for MIPS "generic" processors defined in Mips.td to match what GNU
Akira Hatanaka [Tue, 29 Nov 2011 23:08:41 +0000 (23:08 +0000)]
Change names for MIPS "generic" processors defined in Mips.td to match what GNU
tools use. Patch by Simon Atanasyan.

"mips32r1" => "mips32"
"4ke" => mips32r2"
"mips64r1" => "mips64"

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

12 years agoARM assembly parsing and encoding for four-register VST1.
Jim Grosbach [Tue, 29 Nov 2011 22:58:48 +0000 (22:58 +0000)]
ARM assembly parsing and encoding for four-register VST1.

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

12 years agollvm-config: Replace with C++ version (was llvm-config-2).
Daniel Dunbar [Tue, 29 Nov 2011 22:56:31 +0000 (22:56 +0000)]
llvm-config: Replace with C++ version (was llvm-config-2).
 - Reapply of r144300, with lots of fixes/migration easement in between.

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

12 years agoAdd another missing pattern. llvm-gcc likes f64 but clang likes i64 so it was generat...
Evan Cheng [Tue, 29 Nov 2011 22:48:34 +0000 (22:48 +0000)]
Add another missing pattern. llvm-gcc likes f64 but clang likes i64 so it was generating poor code for some SSE builtins.

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

12 years agoEnable some VST1 tests and add a few more.
Jim Grosbach [Tue, 29 Nov 2011 22:40:32 +0000 (22:40 +0000)]
Enable some VST1 tests and add a few more.

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

12 years agoARM assembly parsing and encoding for three-register VST1.
Jim Grosbach [Tue, 29 Nov 2011 22:38:04 +0000 (22:38 +0000)]
ARM assembly parsing and encoding for three-register VST1.

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

12 years agoMake X86::FsFLD0SS / FsFLD0SD real pseudo-instructions.
Jakob Stoklund Olesen [Tue, 29 Nov 2011 22:27:25 +0000 (22:27 +0000)]
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.

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

12 years agoPotential bug in RewriteLoopBodyWithConditionConstant: use iterator should not be...
Stepan Dyatkovskiy [Tue, 29 Nov 2011 20:34:39 +0000 (20:34 +0000)]
Potential bug in RewriteLoopBodyWithConditionConstant: use iterator should not be changed inside the uses enumeration loop.

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

12 years agoUpdate the docs for some of the test-suite configure changes and
Eric Christopher [Tue, 29 Nov 2011 19:40:56 +0000 (19:40 +0000)]
Update the docs for some of the test-suite configure changes and
be more clear about what to do and how to do it.

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

12 years agoIf fast-isel fails, remove dead instructions generated during the failed
Chad Rosier [Tue, 29 Nov 2011 19:40:47 +0000 (19:40 +0000)]
If fast-isel fails, remove dead instructions generated during the failed
attempt.

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

12 years agogrammar.
Rafael Espindola [Tue, 29 Nov 2011 19:38:09 +0000 (19:38 +0000)]
grammar.

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

12 years agocomment.
Andrew Trick [Tue, 29 Nov 2011 19:33:49 +0000 (19:33 +0000)]
comment.

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

12 years agobuild/CMake: Finish removal of add_llvm_library_dependencies.
Daniel Dunbar [Tue, 29 Nov 2011 19:25:30 +0000 (19:25 +0000)]
build/CMake: Finish removal of add_llvm_library_dependencies.

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

12 years agoAdd a link to Bill's blog post.
Benjamin Kramer [Tue, 29 Nov 2011 19:24:11 +0000 (19:24 +0000)]
Add a link to Bill's blog post.

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

12 years agoRelease notes for segmented stacks.
Rafael Espindola [Tue, 29 Nov 2011 19:08:23 +0000 (19:08 +0000)]
Release notes for segmented stacks.
Patch by Sanjoy Das.

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

12 years agoFix a theoretical problem (not seen in the wild): if different instances of a
Duncan Sands [Tue, 29 Nov 2011 18:26:38 +0000 (18:26 +0000)]
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.

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

12 years agoMC/X86/COFF: Allow quotes in names when targeting MS/Windows,
Michael J. Spencer [Tue, 29 Nov 2011 18:00:06 +0000 (18:00 +0000)]
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.

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

12 years agoFixed ObjectFile functions:
Danil Malyshev [Tue, 29 Nov 2011 17:40:10 +0000 (17:40 +0000)]
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.

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

12 years agoFixed vsqrt.ss intrinsic usage - order of input operands was wrong.
Elena Demikhovsky [Tue, 29 Nov 2011 15:00:45 +0000 (15:00 +0000)]
Fixed vsqrt.ss intrinsic usage - order of input operands was wrong.
Added a test.
Thanks Bruno for reviewing the patch.

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

12 years agoFix shuffle decoding for memory forms for (V)SHUFPS/D.
Craig Topper [Tue, 29 Nov 2011 07:58:09 +0000 (07:58 +0000)]
Fix shuffle decoding for memory forms for (V)SHUFPS/D.

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

12 years agoFix issues in shuffle decoding around VPERM* instructions. Fix shuffle decoding for...
Craig Topper [Tue, 29 Nov 2011 07:49:05 +0000 (07:49 +0000)]
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.

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

12 years ago[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.
NAKAMURA Takumi [Tue, 29 Nov 2011 07:47:04 +0000 (07:47 +0000)]
[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.

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

12 years agolit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too.
NAKAMURA Takumi [Tue, 29 Nov 2011 06:40:50 +0000 (06:40 +0000)]
lit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too.

Thanks to Francois, to let me know.

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

12 years agoInstall llvmCore to /usr/local. <rdar://problem/10390708>
Bob Wilson [Tue, 29 Nov 2011 06:11:56 +0000 (06:11 +0000)]
Install llvmCore to /usr/local.  <rdar://problem/10390708>

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

12 years agoFix VINSERTF128/VEXTRACTF128 to be marked as FP instructions. Allow execution depende...
Craig Topper [Tue, 29 Nov 2011 05:37:58 +0000 (05:37 +0000)]
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.

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

12 years agoCorrectly mark VPERM2F128 as being an FP instruction and add execution domain fixing...
Craig Topper [Tue, 29 Nov 2011 03:57:34 +0000 (03:57 +0000)]
Correctly mark VPERM2F128 as being an FP instruction and add execution domain fixing support to convert it to VPERM2I128 for AVX2.

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

12 years agoMachO doesn't support the protected visibility. Don't default to 'global' here. ...
Bill Wendling [Tue, 29 Nov 2011 02:39:58 +0000 (02:39 +0000)]
MachO doesn't support the protected visibility. Don't default to 'global' here. <rdar://problem/10396775>

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

12 years agoSCEV fix. In general, Add/Mul expressions should not inherit NSW/NUW.
Andrew Trick [Tue, 29 Nov 2011 02:16:38 +0000 (02:16 +0000)]
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.

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

12 years agoMake SCEV print <nsw><nuw> for Add/MulExpr.
Andrew Trick [Tue, 29 Nov 2011 02:06:35 +0000 (02:06 +0000)]
Make SCEV print <nsw><nuw> for Add/MulExpr.

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

12 years agoFilecheckize.
Andrew Trick [Tue, 29 Nov 2011 02:05:23 +0000 (02:05 +0000)]
Filecheckize.

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

12 years agoRemove content that has been moved to Clang release notes.
Peter Collingbourne [Tue, 29 Nov 2011 02:04:48 +0000 (02:04 +0000)]
Remove content that has been moved to Clang release notes.

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

12 years agoFix grammar.
Peter Collingbourne [Tue, 29 Nov 2011 02:04:44 +0000 (02:04 +0000)]
Fix grammar.

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

12 years agoOn MachO, the pointer to the personality function should always be in the
Bill Wendling [Tue, 29 Nov 2011 01:43:20 +0000 (01:43 +0000)]
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>

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

12 years agobuild/cmake: Switch to using llvm-build computed dependencies.
Daniel Dunbar [Tue, 29 Nov 2011 01:31:52 +0000 (01:31 +0000)]
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.

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

12 years agoZap some completely ridiculous code. There's probably a miscompile here, but I don...
Eli Friedman [Tue, 29 Nov 2011 01:18:23 +0000 (01:18 +0000)]
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...

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

12 years agoBetter fix for ARM MOVT relocation encoding of thumb bit.
Jim Grosbach [Tue, 29 Nov 2011 01:15:25 +0000 (01:15 +0000)]
Better fix for ARM MOVT relocation encoding of thumb bit.

Replaces r145318 with a more targetted fix for the relocation handling.

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

12 years agoReenable this IndVars unit test.
Andrew Trick [Tue, 29 Nov 2011 00:52:04 +0000 (00:52 +0000)]
Reenable this IndVars unit test.

SCEV can't optimize undef in all cases, which is a separate issue from this test case.

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

12 years agobuild: Update CMakeLists.txt.
Daniel Dunbar [Tue, 29 Nov 2011 00:33:14 +0000 (00:33 +0000)]
build: Update CMakeLists.txt.

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

12 years agoAdd a link from the LLVM release notes to the Clang release notes.
Chandler Carruth [Tue, 29 Nov 2011 00:32:43 +0000 (00:32 +0000)]
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.

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

12 years agoedis: Sink EDMain.cpp into lib/MC/MCDisassembler.
Daniel Dunbar [Tue, 29 Nov 2011 00:25:57 +0000 (00:25 +0000)]
edis: Sink EDMain.cpp into lib/MC/MCDisassembler.
 - This fixes some layering violations and matches how we handle the llvm-c lib,
   for example.

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

12 years agoedis: Don't do the target initialization in EDGetDisassembler, this is contrary
Daniel Dunbar [Tue, 29 Nov 2011 00:06:58 +0000 (00:06 +0000)]
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.

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

12 years agollvm-c: Add a few missing InitializeAll* functions.
Daniel Dunbar [Tue, 29 Nov 2011 00:06:55 +0000 (00:06 +0000)]
llvm-c: Add a few missing InitializeAll* functions.

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

12 years agobuild/Make: edis isn't built as a shared library anymore, remove related cruft from...
Daniel Dunbar [Tue, 29 Nov 2011 00:06:53 +0000 (00:06 +0000)]
build/Make: edis isn't built as a shared library anymore, remove related cruft from the Makefile.

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

12 years agollvmbuild/CMake: Update CMake output fragment to include explicit library
Daniel Dunbar [Tue, 29 Nov 2011 00:06:50 +0000 (00:06 +0000)]
llvmbuild/CMake: Update CMake output fragment to include explicit library
dependency information.

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

12 years agoExpand the part about CFI a bit.
Rafael Espindola [Mon, 28 Nov 2011 23:55:49 +0000 (23:55 +0000)]
Expand the part about CFI a bit.

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

12 years agoAdd documentation for llvm-cov.
Devang Patel [Mon, 28 Nov 2011 23:39:25 +0000 (23:39 +0000)]
Add documentation for llvm-cov.

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

12 years agoThumb2 only force the fixup thumb bit for data relocations.
Jim Grosbach [Mon, 28 Nov 2011 23:39:00 +0000 (23:39 +0000)]
Thumb2 only force the fixup thumb bit for data relocations.

rdar://10493453

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

12 years agoAdd a missing safety check to ProcessUGT_ADDCST_ADD. Fixes PR11438.
Eli Friedman [Mon, 28 Nov 2011 23:32:19 +0000 (23:32 +0000)]
Add a missing safety check to ProcessUGT_ADDCST_ADD.  Fixes PR11438.

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

12 years agoRemove obsolete FIXME.
Jim Grosbach [Mon, 28 Nov 2011 23:23:58 +0000 (23:23 +0000)]
Remove obsolete FIXME.

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

12 years agoMake SelectionDAG::InferPtrAlignment use llvm::ComputeMaskedBits instead of duplicati...
Eli Friedman [Mon, 28 Nov 2011 22:48:22 +0000 (22:48 +0000)]
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.

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

12 years agoRevert r145273 and fix in SelectionDAG::InferPtrAlignment() instead.
Evan Cheng [Mon, 28 Nov 2011 22:37:34 +0000 (22:37 +0000)]
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

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

12 years agoFix some possible gcc-4.2 may be used uninitialized warnings.
Daniel Dunbar [Mon, 28 Nov 2011 22:19:32 +0000 (22:19 +0000)]
Fix some possible gcc-4.2 may be used uninitialized warnings.

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

12 years agoDon't define these unless we plan to use them.
Nick Lewycky [Mon, 28 Nov 2011 22:14:02 +0000 (22:14 +0000)]
Don't define these unless we plan to use them.

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

12 years agoMerging two bullet points into one
Joe Abbey [Mon, 28 Nov 2011 22:07:12 +0000 (22:07 +0000)]
Merging two bullet points into one

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

12 years agoDAG combine should not increase alignment of loads / stores with alignment less
Evan Cheng [Mon, 28 Nov 2011 20:42:56 +0000 (20:42 +0000)]
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

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

12 years agoAdd missing avx pattern.
Evan Cheng [Mon, 28 Nov 2011 20:27:23 +0000 (20:27 +0000)]
Add missing avx pattern.

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

12 years agoAdd OpenCL blurb to release notes.
Peter Collingbourne [Mon, 28 Nov 2011 20:04:12 +0000 (20:04 +0000)]
Add OpenCL blurb to release notes.

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

12 years ago80-column.
Chad Rosier [Mon, 28 Nov 2011 19:59:09 +0000 (19:59 +0000)]
80-column.

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

12 years agoRemove dead llvm.eh.sjlj.dispatchsetup intrinsic.
Bill Wendling [Mon, 28 Nov 2011 19:23:13 +0000 (19:23 +0000)]
Remove dead llvm.eh.sjlj.dispatchsetup intrinsic.

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

12 years agoRemove the temporary flag -disable-unroll-scev and dead code.
Andrew Trick [Mon, 28 Nov 2011 19:22:09 +0000 (19:22 +0000)]
Remove the temporary flag -disable-unroll-scev and dead code.

SCEV should now be used for trip count analysis, not LoopInfo.

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

12 years agoAdd back a line I deleted by accident in r145141. Fixes uninitialized variable warni...
Eli Friedman [Mon, 28 Nov 2011 18:50:37 +0000 (18:50 +0000)]
Add back a line I deleted by accident in r145141.  Fixes uninitialized variable warnings and runtime failures.

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

12 years agoAdd object file related release notes.
Michael J. Spencer [Mon, 28 Nov 2011 18:20:09 +0000 (18:20 +0000)]
Add object file related release notes.

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

12 years agoExplain what ExeDepsFix does.
Jakob Stoklund Olesen [Mon, 28 Nov 2011 18:03:11 +0000 (18:03 +0000)]
Explain what ExeDepsFix does.

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

12 years agoFix spelling/grammar errors found by Duncan.
Rafael Espindola [Mon, 28 Nov 2011 17:06:58 +0000 (17:06 +0000)]
Fix spelling/grammar errors found by Duncan.

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

12 years agoHandle more cases in APInt::getLowBitsSet's fast path.
Benjamin Kramer [Mon, 28 Nov 2011 16:56:38 +0000 (16:56 +0000)]
Handle more cases in APInt::getLowBitsSet's fast path.

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

12 years agoSupport a 'final' release candidate tag.
Bill Wendling [Mon, 28 Nov 2011 11:45:10 +0000 (11:45 +0000)]
Support a 'final' release candidate tag.

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

12 years agoSilence wrong warnings from GCC about variables possibly being used
Duncan Sands [Mon, 28 Nov 2011 10:31:27 +0000 (10:31 +0000)]
Silence wrong warnings from GCC about variables possibly being used
uninitialized: GCC doesn't understand that the variables are only used
if !UseImm, in which case they have been initialized.

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

12 years agoAdd X86 instruction selection for VPERM2I128 when AVX2 is enabled. Merge VPERMILPS...
Craig Topper [Mon, 28 Nov 2011 10:14:51 +0000 (10:14 +0000)]
Add X86 instruction selection for VPERM2I128 when AVX2 is enabled. Merge VPERMILPS/VPERMILPD detection since they are pretty similar.

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

12 years agoAdd an optional separate install prefix for internal components. rdar://10217046
Bob Wilson [Mon, 28 Nov 2011 07:59:52 +0000 (07:59 +0000)]
Add an optional separate install prefix for internal components. rdar://10217046

Some files installed by clang are not relevant for general users and we'd like
to be able to install them to a different location.  This adds a new
--with-internal-prefix configure option and a corresponding PROJ_internal_prefix
makefile variable, which defaults to the standard prefix.  A tool makefile
can specify that it should be installed to this internal prefix by defining
INTERNAL_TOOL.

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

12 years agotest/lit.cfg: Enable the feature 'asserts' to check output of llc -version.
NAKAMURA Takumi [Mon, 28 Nov 2011 05:09:15 +0000 (05:09 +0000)]
test/lit.cfg: Enable the feature 'asserts' to check output of llc -version.

llc knows whether he is compiled with -DNDEBUG.
|  Optimized build with assertions.

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

12 years agolit/TestRunner.py: Use RemoveForce().
NAKAMURA Takumi [Mon, 28 Nov 2011 01:55:08 +0000 (01:55 +0000)]
lit/TestRunner.py: Use RemoveForce().

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

12 years agolit/TestRunner.py: [Win32] Introduce WinWaitReleased(f), to wait for file handles...
NAKAMURA Takumi [Mon, 28 Nov 2011 01:55:01 +0000 (01:55 +0000)]
lit/TestRunner.py: [Win32] Introduce WinWaitReleased(f), to wait for file handles to be released by children.

When wait() has finished, opened handles (especially writing stdout to file) might not be released immediately.
To wait for released, poll to attempt renaming.

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

12 years agoAdd a blurb about the new ExecutionDepsFix pass.
Jakob Stoklund Olesen [Mon, 28 Nov 2011 01:46:19 +0000 (01:46 +0000)]
Add a blurb about the new ExecutionDepsFix pass.

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

12 years agoMake isCommutedVSHUFP more like the way isCommutedSHUFP is handled.
Craig Topper [Mon, 28 Nov 2011 01:14:24 +0000 (01:14 +0000)]
Make isCommutedVSHUFP more like the way isCommutedSHUFP is handled.

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

12 years agoconfigure, config.h.in: Regenerate.
NAKAMURA Takumi [Mon, 28 Nov 2011 01:07:19 +0000 (01:07 +0000)]
configure, config.h.in: Regenerate.
config.h.cmake: Synchronize to config.h.in.

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

12 years agouse llvm-config.h in public header
Dylan Noblesmith [Mon, 28 Nov 2011 00:49:01 +0000 (00:49 +0000)]
use llvm-config.h in public header

The config.h file's macros collide with other projects that include
LLVM and shouldn't get exported.

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

12 years agorename ENABLE_THREADS to LLVM_ENABLE_THREADS
Dylan Noblesmith [Mon, 28 Nov 2011 00:48:58 +0000 (00:48 +0000)]
rename ENABLE_THREADS to LLVM_ENABLE_THREADS

Now that it needs to be exported in a public header (Valgrind.h)
it should be prefixed to avoid collision with other projects.
Add it to llvm-config.h as well.

This'll require regenerating the configure script after this
commit, but I don't have the required autoconf version.

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

12 years agoupdate description of LLVM_DEFAULT_TARGET_TRIPLE
Dylan Noblesmith [Mon, 28 Nov 2011 00:48:53 +0000 (00:48 +0000)]
update description of LLVM_DEFAULT_TARGET_TRIPLE

It was out of sync with the description in configure.ac/config.h.in.
Also re-alphabetize it from its position when it was LLVM_HOST_TRIPLE.

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