Anshuman Dasgupta
08ebdc1e71
Add a deterministic finite automaton based packetizer for VLIW architectures
...
llvm-svn: 145629
2011-12-01 21:10:21 +00:00
David Blaikie
54c9462c77
Fix unreachable return & simplify some branches.
...
llvm-svn: 145627
2011-12-01 20:58:30 +00:00
Daniel Dunbar
ab0ad4ed1e
llvm-config: Replace with C++ version (was llvm-config-2).
...
- Another reapply of r144300, with hopefully one last fix.
llvm-svn: 145623
2011-12-01 20:18:09 +00:00
Daniel Dunbar
5a78bb5686
llvm-config-2: Fix --cflags and --includedir which pointed at the wrong
...
directory when running from a build directory.
llvm-svn: 145622
2011-12-01 20:00:19 +00:00
Sanjoy Das
f60485c4cf
Dummy commit to check commit access.
...
llvm-svn: 145619
2011-12-01 19:15:08 +00:00
Pete Cooper
fdddc27143
Improved fix for abs(val) != 0 to check other similar case. Also fixed style issues and confusing comment
...
llvm-svn: 145618
2011-12-01 19:13:26 +00:00
Kostya Serebryany
d594bac68b
[asan] two minor fixes: use UnreachableInst after the neverreturn function call; use report_fatal_error when blacklist file can not be found
...
llvm-svn: 145611
2011-12-01 18:54:53 +00:00
Chad Rosier
676c093758
Add missing functions.
...
llvm-svn: 145608
2011-12-01 18:26:19 +00:00
Benjamin Kramer
3ced545ccf
Autodetect bulldozers.
...
llvm-svn: 145607
2011-12-01 18:24:17 +00:00
Chad Rosier
10fe1fe39e
Add a few more functions to TargetLibraryInfo. More of rdar://10500969.
...
llvm-svn: 145596
2011-12-01 17:54:37 +00:00
Chris Lattner
f433c08659
fix broken tag
...
llvm-svn: 145590
2011-12-01 17:25:28 +00:00
Duncan Sands
b8e6cee9ca
Revert commit 145449 (ddunbar) since it is breaking the dragonegg buildbots.
...
Original commit message:
llvm-config: Replace with C++ version (was llvm-config-2).
- Reapply of r144300, with lots of fixes/migration easement in between.
llvm-svn: 145582
2011-12-01 10:50:19 +00:00
Eric Christopher
9da7f305a4
For 64-bit the rest of the general regs are ok for the q constraint. Make
...
sure we can emit both the high and low versions of those registers.
Fixes rdar://10392864
llvm-svn: 145579
2011-12-01 08:12:41 +00:00
David Blaikie
3a15e14520
Add some missing anchors.
...
llvm-svn: 145578
2011-12-01 08:00:17 +00:00
Eli Friedman
d61887dd0a
Pass AVX vectors which are arguments to varargs functions on the stack. <rdar://problem/10463281>.
...
llvm-svn: 145573
2011-12-01 04:49:21 +00:00
Pete Cooper
3b7f35bf08
Removed use of grep from test and moved it to be with other icmp tests
...
llvm-svn: 145570
2011-12-01 04:35:26 +00:00
Pete Cooper
bc5c524b71
Added instcombine pattern to spot comparing -val or val against 0.
...
(val != 0) == (-val != 0) so "abs(val) != 0" becomes "val != 0"
Fixes <rdar://problem/10482509>
llvm-svn: 145563
2011-12-01 03:58:40 +00:00
Chad Rosier
c24b86ffbe
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
...
InstructionSimplify.cpp. Other fixups as needed.
Part of rdar://10500969
llvm-svn: 145559
2011-12-01 03:08:23 +00:00
Nick Lewycky
e659b8459e
Make use of "getScalarType()". No functionality change.
...
llvm-svn: 145556
2011-12-01 02:39:36 +00:00
Eli Friedman
c1870b2633
Small fix for assembler generation on Darwin PPC64. Patch by Michael Kostylev. PR11437.
...
llvm-svn: 145553
2011-12-01 01:43:47 +00:00
Jim Grosbach
8eeb353071
Replace an assert() with an actual diagnostic.
...
llvm-svn: 145535
2011-11-30 23:16:25 +00:00
Kostya Serebryany
dc436f95d2
make asan work at -O0, llvm part. Patch by glider@google.com
...
llvm-svn: 145530
2011-11-30 22:19:26 +00:00
Jan Sjödin
9430e284a9
Support for encoding all FMA4 instructions and tablegen patterns for all
...
remaining FMA4 instructions and intrinsics with tests.
llvm-svn: 145525
2011-11-30 22:09:42 +00:00
Eli Friedman
6cff9df298
Make GlobalMerge honor the preferred alignment on globals without an explicitly specified alignment.
...
<rdar://problem/10497732>.
llvm-svn: 145523
2011-11-30 21:54:15 +00:00
Bill Wendling
ad8b58b2ac
More cleanups. No content change.
...
llvm-svn: 145522
2011-11-30 21:52:43 +00:00
Bill Wendling
b6c2220600
Minor cleanup. No content change.
...
llvm-svn: 145521
2011-11-30 21:43:43 +00:00
Bob Wilson
a0c69014f8
Remove the install-clang-c makefile target.
...
When I did this before it broke a buildbot that was testing that target, but
we've removed that buildbot now.
llvm-svn: 145519
2011-11-30 21:06:12 +00:00
Bill Wendling
3eb84cc75b
Remove an XXX which hasn't been fixed yet. It's too late now.
...
llvm-svn: 145518
2011-11-30 20:53:52 +00:00
Matt Beaumont-Gay
23c30b90e3
Remove unused variable
...
llvm-svn: 145517
2011-11-30 19:53:11 +00:00
Jim Grosbach
7d8517b1d4
Add some tests for all-lanes VLD1 parsing.
...
llvm-svn: 145512
2011-11-30 19:37:38 +00:00
Jim Grosbach
a68c9a847e
ARM parsing for VLD1 all lanes, with writeback.
...
llvm-svn: 145510
2011-11-30 19:35:44 +00:00
Chad Rosier
738da252ab
Add a few functions to TargetLibraryInfo.
...
llvm-svn: 145508
2011-11-30 19:19:00 +00:00
Jim Grosbach
3ecf976ca9
ARM parsing for VLD1 two register all lanes, no writeback.
...
llvm-svn: 145504
2011-11-30 18:21:25 +00:00
Nadav Rotem
0a1801015c
Add test arch to make it pass on non x86 targets
...
llvm-svn: 145498
2011-11-30 17:34:28 +00:00
Benjamin Kramer
5feb3dab79
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.
llvm-svn: 145494
2011-11-30 15:48:16 +00:00
Benjamin Kramer
981f32327d
X86: Add subtargets for AMD's bulldozer.
...
llvm-svn: 145493
2011-11-30 15:27:46 +00:00
Nadav Rotem
66427bcce9
Add a tripple to the test
...
llvm-svn: 145489
2011-11-30 11:20:56 +00:00
Nadav Rotem
96923cc2bb
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).
...
llvm-svn: 145488
2011-11-30 10:13:37 +00:00
Craig Topper
c4977ba413
Add instruction selection support for AVX2 horizontal add/sub instructions.
...
llvm-svn: 145487
2011-11-30 09:10:50 +00:00
Duncan Sands
e9adf5c860
Mention that -O4 does result in more optimization when used with
...
-fplugin-arg-dragonegg-enable-gcc-optzns, though it usually isn't
a win.
llvm-svn: 145486
2011-11-30 08:46:05 +00:00
Craig Topper
0a672eaf9e
Merge VPERM2F128/VPERM2I128 ISD node types.
...
llvm-svn: 145485
2011-11-30 07:47:51 +00:00
Andrew Trick
613c67e475
Better test case found in duplicate PR10570.
...
llvm-svn: 145484
2011-11-30 06:26:42 +00:00
Craig Topper
bafd224c8b
Merge decoding of VPERMILPD and VPERMILPS shuffle masks. Merge X86ISD node type for VPERMILPD/PS. Add instruction selection support for VINSERTI128/VEXTRACTI128.
...
llvm-svn: 145483
2011-11-30 06:25:25 +00:00
Andrew Trick
ceafa2c746
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.
llvm-svn: 145482
2011-11-30 06:07:54 +00:00
Chad Rosier
385d9f6c24
Whitespace.
...
llvm-svn: 145470
2011-11-30 01:59:59 +00:00
Chad Rosier
abba0947db
Alphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
...
change intended.
llvm-svn: 145468
2011-11-30 01:51:49 +00:00
Jim Grosbach
f09b1c46cf
llvm_unreachable() is not for user diagnostics....
...
llvm-svn: 145465
2011-11-30 01:15:55 +00:00
Jim Grosbach
cd6f5e757c
ARM parsing aliases for VLD1 single register all lanes.
...
llvm-svn: 145464
2011-11-30 01:09:44 +00:00
Chad Rosier
82e1bd8e94
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
...
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
llvm-svn: 145460
2011-11-29 23:57:10 +00:00
Jim Grosbach
182b6a077e
Tidy up a bit.
...
llvm-svn: 145458
2011-11-29 23:51:09 +00:00
Jim Grosbach
ae672f8118
Add comment.
...
llvm-svn: 145456
2011-11-29 23:33:40 +00:00
Jim Grosbach
e1154eef0b
ARM parsing aliases for data-size suffices on VST1.
...
llvm-svn: 145454
2011-11-29 23:21:31 +00:00
Jakob Stoklund Olesen
f50d2eafdb
FileCheckize.
...
llvm-svn: 145452
2011-11-29 23:09:16 +00:00
Akira Hatanaka
dc25f9f38a
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"
llvm-svn: 145451
2011-11-29 23:08:41 +00:00
Jim Grosbach
5ee209ce3a
ARM assembly parsing and encoding for four-register VST1.
...
llvm-svn: 145450
2011-11-29 22:58:48 +00:00
Daniel Dunbar
8d5cc33ad8
llvm-config: Replace with C++ version (was llvm-config-2).
...
- Reapply of r144300, with lots of fixes/migration easement in between.
llvm-svn: 145449
2011-11-29 22:56:31 +00:00
Evan Cheng
648e48d02e
Add another missing pattern. llvm-gcc likes f64 but clang likes i64 so it was generating poor code for some SSE builtins.
...
llvm-svn: 145448
2011-11-29 22:48:34 +00:00
Jim Grosbach
2a9c43649a
Enable some VST1 tests and add a few more.
...
llvm-svn: 145443
2011-11-29 22:40:32 +00:00
Jim Grosbach
98d032fd67
ARM assembly parsing and encoding for three-register VST1.
...
llvm-svn: 145442
2011-11-29 22:38:04 +00:00
Jakob Stoklund Olesen
bde32d36bb
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
31798ef3c0
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
b2d03a6d00
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
46addb9e07
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
b61cc44265
grammar.
...
llvm-svn: 145423
2011-11-29 19:38:09 +00:00
Andrew Trick
312b97c267
comment.
...
llvm-svn: 145422
2011-11-29 19:33:49 +00:00
Daniel Dunbar
539d0a8a09
build/CMake: Finish removal of add_llvm_library_dependencies.
...
llvm-svn: 145420
2011-11-29 19:25:30 +00:00
Benjamin Kramer
098c1d9680
Add a link to Bill's blog post.
...
llvm-svn: 145419
2011-11-29 19:24:11 +00:00
Rafael Espindola
866a22aba7
Release notes for segmented stacks.
...
Patch by Sanjoy Das.
llvm-svn: 145416
2011-11-29 19:08:23 +00:00
Duncan Sands
ca6f8ddbf8
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
de3a2118db
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
cbe72fc959
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
7a81dea516
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
1d63ae3731
Fix shuffle decoding for memory forms for (V)SHUFPS/D.
...
llvm-svn: 145392
2011-11-29 07:58:09 +00:00
Craig Topper
c16db840be
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
64404a3b2c
[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
0e5bae7191
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
b103fbf005
Install llvmCore to /usr/local. <rdar://problem/10390708>
...
llvm-svn: 145378
2011-11-29 06:11:56 +00:00
Craig Topper
12b72def4e
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
897a7d4b9c
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
11b9894234
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
d25089f8e0
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
d912a5b2e3
Make SCEV print <nsw><nuw> for Add/MulExpr.
...
llvm-svn: 145364
2011-11-29 02:06:35 +00:00
Andrew Trick
5ec136c57e
Filecheckize.
...
llvm-svn: 145363
2011-11-29 02:05:23 +00:00
Peter Collingbourne
7e09afb833
Remove content that has been moved to Clang release notes.
...
llvm-svn: 145362
2011-11-29 02:04:48 +00:00
Peter Collingbourne
7d9c13d81f
Fix grammar.
...
llvm-svn: 145361
2011-11-29 02:04:44 +00:00
Bill Wendling
e4cc332729
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
faaa76d1b7
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
7534b46884
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
ae9132207f
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
e756031a62
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
fe2d028ab1
build: Update CMakeLists.txt.
...
llvm-svn: 145341
2011-11-29 00:33:14 +00:00
Chandler Carruth
60062ed5dc
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
b074d102a3
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
d690111dd4
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
69987abde6
llvm-c: Add a few missing InitializeAll* functions.
...
llvm-svn: 145330
2011-11-29 00:06:55 +00:00
Daniel Dunbar
2266cfcc77
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
4128db91c2
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
8fa4bd048b
Expand the part about CFI a bit.
...
llvm-svn: 145324
2011-11-28 23:55:49 +00:00
Devang Patel
8e5bfd8349
Add documentation for llvm-cov.
...
llvm-svn: 145319
2011-11-28 23:39:25 +00:00
Jim Grosbach
30168fbde5
Thumb2 only force the fixup thumb bit for data relocations.
...
rdar://10493453
llvm-svn: 145318
2011-11-28 23:39:00 +00:00