Chad Rosier [Fri, 2 Dec 2011 20:25:18 +0000 (20:25 +0000)]
[arm-fast-isel] After promoting a function parameter be sure to update the
argument value type. Otherwise, the sign/zero-extend has no effect on arguments
passed via the stack (i.e., undefined high-order bits).
rdar://
10515467
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145701
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 2 Dec 2011 19:38:17 +0000 (19:38 +0000)]
specify cpu for test to fix failure on some darwin systems with a g4+ cpu
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145699
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 2 Dec 2011 18:52:30 +0000 (18:52 +0000)]
Clean up aliases for ARM VLD1 single-lane assembly parsing a bit.
Add the 16-bit lane variants while I'm at it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145693
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 2 Dec 2011 18:37:31 +0000 (18:37 +0000)]
Fix quadratic behavior in InlineFunction by fetching the personality function of the callee once and not for every invoke in the caller.
The callee is usually smaller than the caller, too. This reduces the compile
time of ARMDisassembler.cpp by 32% (Release build). It still takes ages to
compile though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145690
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 2 Dec 2011 18:33:03 +0000 (18:33 +0000)]
Check for error after InstantiateMultclassDef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145689
91177308-0d34-0410-b5e6-
96231b3b80d8
Jan Sjödin [Fri, 2 Dec 2011 15:14:37 +0000 (15:14 +0000)]
Add XOP feature flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145682
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 2 Dec 2011 08:18:41 +0000 (08:18 +0000)]
Reduce duplicate code in isHorizontalBinOp and add some asserts to protect assumptions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145681
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 2 Dec 2011 07:16:01 +0000 (07:16 +0000)]
Add instruction selection support for horizontal add/sub of 256-bit floating point vectors. Also add the test case for 256-bit integer vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145680
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 2 Dec 2011 04:58:17 +0000 (04:58 +0000)]
remove unneeded FIXME comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145679
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 2 Dec 2011 04:58:12 +0000 (04:58 +0000)]
adjust the instruction ordering in some PPC tests: changes due to postRA haz. rec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145678
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 2 Dec 2011 04:58:07 +0000 (04:58 +0000)]
make sure ScheduleDAGInstrs::EmitSchedule does not crash when the first instruction in Sequence is a Noop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145677
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 2 Dec 2011 04:58:02 +0000 (04:58 +0000)]
update PPC 940 hazard rec. to function in postRA mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 2 Dec 2011 01:26:24 +0000 (01:26 +0000)]
Fix a few more places where TargetData/TargetLibraryInfo is not being passed.
Add FIXMEs to places that are non-trivial to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145661
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 2 Dec 2011 00:35:16 +0000 (00:35 +0000)]
ARM start parsing VLD1 single lane instructions.
The alias pseudos need cleaned up for size suffix handling, but this gets
the basics working. Will be cleaning up and adding more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 23:16:03 +0000 (23:16 +0000)]
Abuse of mass replace isn't warranted even when the build is failing. Thanks
for the suggestion, Eric.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 22:38:31 +0000 (22:38 +0000)]
Fix build by not assuming TLI is guaranteed. Will have to track down cases where
TLI isn't being passed to ensure we don't miss opportunities to fold calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145641
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 22:14:50 +0000 (22:14 +0000)]
Prevent library calls from being folded if -fno-builtin has been specified.
rdar://
10500969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145639
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Thu, 1 Dec 2011 21:53:39 +0000 (21:53 +0000)]
TableGen: fix CMake build s'more
Oops, missed another missing file from r145629.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145636
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Thu, 1 Dec 2011 21:49:23 +0000 (21:49 +0000)]
CodeGen: fix CMake build
Missing file from r145629.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145634
91177308-0d34-0410-b5e6-
96231b3b80d8
Dylan Noblesmith [Thu, 1 Dec 2011 21:49:21 +0000 (21:49 +0000)]
ExecutionEngine: honor optimization level
It was getting ignored after r144788.
Also fix an accidental implicit cast from the OptLevel enum
to an optional bool argument. MSVC warned on this, but gcc
didn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 21:29:16 +0000 (21:29 +0000)]
Last bit of TargetLibraryInfo propagation. Also fixed a case for TargetData
where it appeared beneficial to pass.
More of rdar://
10500969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145630
91177308-0d34-0410-b5e6-
96231b3b80d8
Anshuman Dasgupta [Thu, 1 Dec 2011 21:10:21 +0000 (21:10 +0000)]
Add a deterministic finite automaton based packetizer for VLIW architectures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145629
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Thu, 1 Dec 2011 20:58:30 +0000 (20:58 +0000)]
Fix unreachable return & simplify some branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145627
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 1 Dec 2011 20:18:09 +0000 (20:18 +0000)]
llvm-config: Replace with C++ version (was llvm-config-2).
- Another reapply of r144300, with hopefully one last fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145623
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 1 Dec 2011 20:00:19 +0000 (20:00 +0000)]
llvm-config-2: Fix --cflags and --includedir which pointed at the wrong
directory when running from a build directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145622
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjoy Das [Thu, 1 Dec 2011 19:15:08 +0000 (19:15 +0000)]
Dummy commit to check commit access.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145619
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Thu, 1 Dec 2011 19:13:26 +0000 (19:13 +0000)]
Improved fix for abs(val) != 0 to check other similar case. Also fixed style issues and confusing comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145618
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Thu, 1 Dec 2011 18:54:53 +0000 (18:54 +0000)]
[asan] two minor fixes: use UnreachableInst after the neverreturn function call; use report_fatal_error when blacklist file can not be found
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 18:26:19 +0000 (18:26 +0000)]
Add missing functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145608
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 1 Dec 2011 18:24:17 +0000 (18:24 +0000)]
Autodetect bulldozers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 17:54:37 +0000 (17:54 +0000)]
Add a few more functions to TargetLibraryInfo. More of rdar://
10500969.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145596
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Dec 2011 17:25:28 +0000 (17:25 +0000)]
fix broken tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145590
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 1 Dec 2011 10:50:19 +0000 (10:50 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145582
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 1 Dec 2011 08:12:41 +0000 (08:12 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145579
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Thu, 1 Dec 2011 08:00:17 +0000 (08:00 +0000)]
Add some missing anchors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145578
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 1 Dec 2011 04:49:21 +0000 (04:49 +0000)]
Pass AVX vectors which are arguments to varargs functions on the stack. <rdar://problem/
10463281>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145573
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Thu, 1 Dec 2011 04:35:26 +0000 (04:35 +0000)]
Removed use of grep from test and moved it to be with other icmp tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145570
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Thu, 1 Dec 2011 03:58:40 +0000 (03:58 +0000)]
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>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 1 Dec 2011 03:08:23 +0000 (03:08 +0000)]
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
InstructionSimplify.cpp. Other fixups as needed.
Part of rdar://
10500969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145559
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 1 Dec 2011 02:39:36 +0000 (02:39 +0000)]
Make use of "getScalarType()". No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145556
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 1 Dec 2011 01:43:47 +0000 (01:43 +0000)]
Small fix for assembler generation on Darwin PPC64. Patch by Michael Kostylev. PR11437.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145553
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 30 Nov 2011 23:16:25 +0000 (23:16 +0000)]
Replace an assert() with an actual diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145535
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Wed, 30 Nov 2011 22:19:26 +0000 (22:19 +0000)]
make asan work at -O0, llvm part. Patch by glider@google.com
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145530
91177308-0d34-0410-b5e6-
96231b3b80d8
Jan Sjödin [Wed, 30 Nov 2011 22:09:42 +0000 (22:09 +0000)]
Support for encoding all FMA4 instructions and tablegen patterns for all
remaining FMA4 instructions and intrinsics with tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145525
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 30 Nov 2011 21:54:15 +0000 (21:54 +0000)]
Make GlobalMerge honor the preferred alignment on globals without an explicitly specified alignment.
<rdar://problem/
10497732>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145523
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Nov 2011 21:52:43 +0000 (21:52 +0000)]
More cleanups. No content change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145522
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Nov 2011 21:43:43 +0000 (21:43 +0000)]
Minor cleanup. No content change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145521
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 30 Nov 2011 21:06:12 +0000 (21:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145519
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Nov 2011 20:53:52 +0000 (20:53 +0000)]
Remove an XXX which hasn't been fixed yet. It's too late now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145518
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Beaumont-Gay [Wed, 30 Nov 2011 19:53:11 +0000 (19:53 +0000)]
Remove unused variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145517
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 30 Nov 2011 19:37:38 +0000 (19:37 +0000)]
Add some tests for all-lanes VLD1 parsing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145512
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 30 Nov 2011 19:35:44 +0000 (19:35 +0000)]
ARM parsing for VLD1 all lanes, with writeback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145510
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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