1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
Commit Graph

76155 Commits

Author SHA1 Message Date
Bruno Cardoso Lopes
1ffbef8ad1 Add a DAGCombine for subvector extracts to remove useless chains of
subvector inserts and extracts. Initial patch by Rackover, Zvi with
some tweak done by me.

llvm-svn: 140204
2011-09-20 23:19:33 +00:00
Bruno Cardoso Lopes
629e7c2410 Revert r140097, working on a better approach
llvm-svn: 140203
2011-09-20 23:19:29 +00:00
Ivan Krasin
1fbce6b02d lib/Linker: add support of deps which does not end with ".so".
It happens (for example) when you want to have a dependency on the .so
with the specific version, like liblzma.so.1.0.0 or
libcrypto.so.0.9.8.

llvm-svn: 140201
2011-09-20 22:52:35 +00:00
Bruno Cardoso Lopes
035414367a Simplify max/minp[s|d] dagcombine matching
llvm-svn: 140199
2011-09-20 22:34:45 +00:00
Bill Wendling
296896eb2d Update this test to the new EH model.
Though I think it may be obsolete with the loop extract changes. And I couldn't
get the old version of LLVM to compile so that I could reduce this testcase.

llvm-svn: 140197
2011-09-20 22:29:43 +00:00
Bill Wendling
32444d6a28 Relax this condition.
Some passes require breaking critical edges before they're called. Don't
segfault because of that.

llvm-svn: 140196
2011-09-20 22:28:17 +00:00
Bill Wendling
5860a42997 Place the check for an exit landing pad where it will be run on both code paths through the if-then-else.
llvm-svn: 140195
2011-09-20 22:27:16 +00:00
Eric Christopher
51a2da3389 Fix typos.
llvm-svn: 140194
2011-09-20 22:26:35 +00:00
Bill Wendling
9e1900bcf7 Omit extracting a loop if one of the exits is a landing pad.
The landing pad must accompany the invoke when it's extracted. However, if it
does, then the loop isn't properly extracted. I.e., the resulting extraction has
a loop in it. The extracted function is then extracted, etc. resulting in an
infinite loop.

llvm-svn: 140193
2011-09-20 22:23:09 +00:00
Bob Wilson
817b059c93 Remove the hack to check UNAME_RELEASE when identifying the Darwin version.
This was only needed to locate llvm-gcc's installation directory when clang
falls back to run llvm-gcc for i386 kexts.  As of clang svn r140187, we're
now just searching paths with several different Darwin versions on either
side of the current version, so this is no longer needed.

llvm-svn: 140188
2011-09-20 22:05:56 +00:00
Bruno Cardoso Lopes
b3eab8c22d Tidy up a bit more, fix tab and remove trailing whitespaces
llvm-svn: 140186
2011-09-20 21:45:26 +00:00
Bruno Cardoso Lopes
906f64c461 The wrong relocation was being emitted for several SSSE3 instructions.
This fixes PR10963. Thanks to Benjamin for finding the wrong tablegen
declaration.

llvm-svn: 140184
2011-09-20 21:39:21 +00:00
Bruno Cardoso Lopes
dab989502d Tidy up code!
llvm-svn: 140183
2011-09-20 21:39:06 +00:00
Evan Cheng
ead45e2ba6 Fix a bug introduced during refactoring a couple of months ago. Cortex-M3 does not support Thumb2 dsp instructions. rdar://10152911.
llvm-svn: 140181
2011-09-20 21:38:18 +00:00
Akira Hatanaka
4dfc257283 Initial Mips64 support. Patch by Liu with some modifications.
llvm-svn: 140178
2011-09-20 20:28:08 +00:00
Bill Wendling
19257face9 Update to new EH model.
llvm-svn: 140177
2011-09-20 20:21:16 +00:00
Bill Wendling
cf8d277150 Check the terminator, not the basic block.
llvm-svn: 140176
2011-09-20 20:20:50 +00:00
Bill Wendling
1ac89f2739 When extracting a basic block that ends in an 'invoke' instruction, we need to
extract its associated landing pad block as well. However, that landing pad
block may have more than one predecessor. So split the landing pad block so that
individual landing pads have only one predecessor.

This type of transformation may produce a false positive with bugpoint.

llvm-svn: 140173
2011-09-20 19:10:24 +00:00
Bill Wendling
66d2eeb730 Use ArrayRef instead of an explicit 'const std::vector &'.
llvm-svn: 140172
2011-09-20 19:05:04 +00:00
Devang Patel
76e4b3cba8 If simple ownership works then friendship is not required.
llvm-svn: 140169
2011-09-20 18:48:56 +00:00
Bill Wendling
8a13959e3a Use ArrayRef instead of 'const std::vector' to pass around the list of basic blocks to extract.
llvm-svn: 140168
2011-09-20 18:42:07 +00:00
Devang Patel
5332ddba93 Update GCOVLines to provide interfaces to write line table and calculate complete length.
llvm-svn: 140167
2011-09-20 18:35:00 +00:00
Douglas Gregor
0b34adbbaf U is good enough
llvm-svn: 140166
2011-09-20 18:33:29 +00:00
Bill Wendling
2de4e5096d Fix comments.
llvm-svn: 140164
2011-09-20 18:24:46 +00:00
Bill Wendling
0e0049385b Remove mention of llvm-gcc and llvm-g++. -Ministry of Truth
llvm-svn: 140163
2011-09-20 18:24:04 +00:00
Andrew Trick
bfac89c238 Restore hasPostISelHook tblgen flag.
No functionality change. The hook makes it explicit which patterns
require "special" handling. i.e. it self-documents tblgen
deficiencies. I plan to add verification in ExpandISelPseudos and
Thumb2SizeReduce to catch any missing hasPostISelHooks. Otherwise it's
too fragile.

llvm-svn: 140160
2011-09-20 18:22:31 +00:00
Douglas Gregor
669f1d1953 Eliminate sign-comparison warnings in APInt
llvm-svn: 140158
2011-09-20 18:11:52 +00:00
Akira Hatanaka
795050d1d1 Add mips64 & mips64el to Triple. Patch by Liu with modifications.
llvm-svn: 140157
2011-09-20 18:09:37 +00:00
Devang Patel
06d7cd5b4e Update comment.
llvm-svn: 140156
2011-09-20 18:05:45 +00:00
Devang Patel
65d142a389 Use StringRef instead of std::string.
llvm-svn: 140154
2011-09-20 17:55:19 +00:00
Benjamin Kramer
c4ca0b476f llvm-objdump: factor code better, add comments.
llvm-svn: 140153
2011-09-20 17:53:01 +00:00
Owen Anderson
4177cfc809 Port over more Thumb2 encoding tests to decoding tests.
llvm-svn: 140152
2011-09-20 17:44:48 +00:00
Devang Patel
cb1e53c7ba Eliminate unnecessary copy of FileName from GCOVLines.
GCOVLines is always accessed through a StringMap where the key is FileName.

llvm-svn: 140151
2011-09-20 17:43:14 +00:00
Devang Patel
525663a8b3 There is no need to write a local utility routine to find subprogram info if the utility routine is already available in DebugInfo.
llvm-svn: 140145
2011-09-20 15:57:19 +00:00
NAKAMURA Takumi
595c0c8e15 test/CodeGen/X86/avx-minmax.ll: Unbreak Win32.
On Windows x64, 128-bit arguments are not passed by reg but by indirect. eg.

maxpd:
        vmovapd (%rcx), %xmm0
        vmaxpd  (%rdx), %xmm0, %xmm0

FIXME: I don't care YMM on x64 for now.
llvm-svn: 140143
2011-09-20 14:11:35 +00:00
Craig Topper
df17f1cc99 Extend changes from r139986 to produce 256-bit AVX minps/minpd/maxps/maxpd.
llvm-svn: 140140
2011-09-20 07:38:59 +00:00
NAKAMURA Takumi
4c7dbf17cc include/llvm/Config/llvm-config.h.in: Add the entry LLVM_PATH_XDOT_PY, for consistency against llvm-config.h.cmake.
llvm-svn: 140137
2011-09-20 03:54:11 +00:00
NAKAMURA Takumi
b4fb714301 include/llvm/Config: Reorder LLVM_HAS_ATOMICS along config.h.in for consistency.
llvm-svn: 140136
2011-09-20 03:54:05 +00:00
NAKAMURA Takumi
bfa21dba17 include/llvm/Config/config.h.cmake: Unbreak CMake build to tweak LLVM_HAS_ATOMICS.
llvm-svn: 140135
2011-09-20 03:53:57 +00:00
Andrew Trick
53aeb9f663 ARM isel bug fix for adds/subs operands.
Modified ARMISelLowering::AdjustInstrPostInstrSelection to handle the
full gamut of CPSR defs/uses including instructins whose "optional"
cc_out operand is not really optional. This allowed removal of the
hasPostISelHook to simplify the .td files and make the implementation
more robust.
Fixes rdar://10137436: sqlite3 miscompile

llvm-svn: 140134
2011-09-20 03:17:40 +00:00
Andrew Trick
43ccb48fb2 whitespace
llvm-svn: 140133
2011-09-20 03:06:13 +00:00
Bill Wendling
ec67102f5c Remove some missed references to dead intrinsics.
llvm-svn: 140129
2011-09-20 01:14:54 +00:00
Bill Wendling
9950cfb492 Update the EH doc to reflect the new EH model.
This basically involved removing references to llvm.eh.exception,
llvm.eh.selector, and llvm.eh.resume and replacing them with references to the
landingpad and resume instructions.

llvm-svn: 140128
2011-09-20 01:08:53 +00:00
Jim Grosbach
dd8f345dc3 Nuke obsolete test file.
llvm-svn: 140127
2011-09-20 01:03:51 +00:00
Jim Grosbach
169f556004 Thumb2 assembly parsing and encoding for WFE/WFI/YIELD.
llvm-svn: 140126
2011-09-20 00:48:56 +00:00
Jim Grosbach
e936bdc286 Thumb2 assembly parsing and encoding for UXTAB/UXTAB16/UXTH/UXTB/UXTB16/UXTH.
llvm-svn: 140125
2011-09-20 00:46:54 +00:00
Eric Christopher
a8a9910f4c More llvmc bits. Spotted by Benjamin on IRC.
llvm-svn: 140124
2011-09-20 00:42:28 +00:00
Eric Christopher
9e21da67aa Remove from cmake too.
llvm-svn: 140122
2011-09-20 00:38:04 +00:00
Eric Christopher
6cf9c3efe8 Remove more of llvmc and dependencies.
llvm-svn: 140121
2011-09-20 00:34:27 +00:00
Jim Grosbach
79dac4bf28 Thumb2 assembly parsing and encoding for USUB8/USUB16.
llvm-svn: 140120
2011-09-20 00:31:57 +00:00