1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

87714 Commits

Author SHA1 Message Date
Akira Hatanaka
6d30f89eeb [mips] Refactor subword-swap, EXT/INS, load-effective-address and read-hardware
instructions.

llvm-svn: 170956
2012-12-21 23:21:32 +00:00
Akira Hatanaka
b41ed048b6 [mips] Refactor SYNC and multiply/divide instructions.
llvm-svn: 170955
2012-12-21 23:17:36 +00:00
Akira Hatanaka
6b9b8a5489 [mips] Refactor BAL instructions.
llvm-svn: 170954
2012-12-21 23:15:59 +00:00
Akira Hatanaka
4b2123dd9c [mips] Fix encoding of BAL instruction. Also, fix assembler test case which
was not catching the error.

llvm-svn: 170953
2012-12-21 23:13:59 +00:00
Akira Hatanaka
abfa7cf8bf [mips] Refactor jump, jump register, jump-and-link and nop instructions.
llvm-svn: 170952
2012-12-21 23:03:50 +00:00
Akira Hatanaka
5fb1ba2c90 [mips] Refactor load/store left/right and load-link and store-conditional
instructions.

llvm-svn: 170950
2012-12-21 23:01:24 +00:00
Akira Hatanaka
7e5047d48a [mips] Refactor load/store instructions.
llvm-svn: 170948
2012-12-21 22:58:55 +00:00
Akira Hatanaka
282d5fff48 [mips] Remove unnecessary isPseudo parameter.
llvm-svn: 170947
2012-12-21 22:57:26 +00:00
Akira Hatanaka
607c79d3a2 [mips] Refactor LUI instruction.
llvm-svn: 170944
2012-12-21 22:46:07 +00:00
Akira Hatanaka
5953571624 [mips] Refactor count leading zero or one instructions.
llvm-svn: 170942
2012-12-21 22:43:58 +00:00
Akira Hatanaka
aae0730c16 [mips] Refactor sign-extension-in-register instructions.
llvm-svn: 170940
2012-12-21 22:41:52 +00:00
Akira Hatanaka
28f3fe9725 [mips] Refactor instructions which copy from and to HI/LO registers.
llvm-svn: 170939
2012-12-21 22:39:17 +00:00
Akira Hatanaka
22e49f11a7 [mips] Refactor logical NOR instructions.
llvm-svn: 170937
2012-12-21 22:35:47 +00:00
Akira Hatanaka
adbd4c7cba [mips] Move instruction definitions in MipsInstrInfo.td.
llvm-svn: 170936
2012-12-21 22:33:43 +00:00
Tom Stellard
20b14a00e1 R600: Coding style - remove empty spaces from the beginning of functions
No functionality change.

llvm-svn: 170923
2012-12-21 20:12:02 +00:00
Tom Stellard
7257d89cf4 R600: Fix MAX_UINT definition
Patch by: Vadim Girlin

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 170922
2012-12-21 20:12:01 +00:00
Tom Stellard
0a1defe552 R600: Add SHADOWCUBE to TEX_SHADOW pattern
Patch by: Vadim Girlin

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 170921
2012-12-21 20:11:59 +00:00
Benjamin Kramer
4a7c7f63ce Cleanup compiler warnings on discarding type qualifiers in casts. Switch to C++ style casts.
Patch by Saleem Abdulrasool!

Differential Revision: http://llvm-reviews.chandlerc.com/D204

llvm-svn: 170917
2012-12-21 19:09:53 +00:00
Jakob Stoklund Olesen
15218a60cd Add a missing assertion, the null register has no register units.
llvm-svn: 170916
2012-12-21 18:38:09 +00:00
Benjamin Kramer
64cd3cc5b3 try to unbreak ppc buildbots.
llvm-svn: 170913
2012-12-21 18:11:45 +00:00
Benjamin Kramer
fee2de20ab Teach sort_includes.py to drop duplicated includes.
llvm-svn: 170911
2012-12-21 18:00:08 +00:00
Benjamin Kramer
9297ff5d80 X86: Match pmin/pmax as a target specific dag combine. This occurs during vectorization.
Part of PR14667.

llvm-svn: 170908
2012-12-21 17:46:58 +00:00
Roman Divacky
a299a2efa5 Remove duplicate includes.
llvm-svn: 170902
2012-12-21 17:06:44 +00:00
Tom Stellard
19e8c4abd6 R600: Expand vec4 INT <-> FP conversions
llvm-svn: 170901
2012-12-21 16:33:24 +00:00
Benjamin Kramer
06ec6482f0 X86: Match the SSE/AVX min/max vector ops using a custom node instead of intrinsics
This is very mechanical, no functionality change. Preparation for PR14667.

llvm-svn: 170898
2012-12-21 14:04:55 +00:00
Duncan Sands
b535136495 Test that a landingpad gets the name provided when it was created (see commit
170318).

llvm-svn: 170886
2012-12-21 12:03:03 +00:00
Evgeniy Stepanov
ea2d72253e [msan] Remove unreachable blocks before instrumenting a function.
llvm-svn: 170883
2012-12-21 11:18:49 +00:00
Nadav Rotem
82f3bb6d1f Add a missing "virtual" keyword.
llvm-svn: 170842
2012-12-21 05:02:12 +00:00
Nadav Rotem
ad3bbdd5b0 Enable if-conversion.
llvm-svn: 170841
2012-12-21 04:47:54 +00:00
Quentin Colombet
56d5ee357a Add ARM cortex-r5 subtarget.
llvm-svn: 170840
2012-12-21 04:35:05 +00:00
Rafael Espindola
cb6155ac8d Don't skip __DWARF,
Now that we don't merge section and segment names, we don't need to skip the
segment name to get to the section name.

llvm-svn: 170839
2012-12-21 04:08:03 +00:00
Rafael Espindola
cca2985848 Add a function to get the segment name of a section.
On MachO, sections also have segment names. When a tool looking at a .o file
prints a segment name, this is what they mean. In reality, a .o has only one
anonymous, segment.

This patch adds a MachO only function to fetch that segment name. I named it
getSectionFinalSegmentName since the main use for the name seems to be inform
the linker with segment this section should go to.

The patch also changes MachOObjectFile::getSectionName to return just the
section name instead of computing SegmentName,SectionName.

The main difference from the previous patch is that it doesn't use
InMemoryStruct. It is extremely dangerous: if the endians match it returns
a pointer to the file buffer, if not, it returns a pointer to an internal buffer
that is overwritten in the next API call.

We should change all of this code to use
support::detail::packed_endian_specific_integral like ELF, but since these
functions only handle strings, they work with big and little endian machines
as is.

I have tested this by installing ubuntu 12.10 ppc on qemu, that is why it took
so long :-)

llvm-svn: 170838
2012-12-21 03:47:03 +00:00
Evan Cheng
6e9736cf5e Add targets to skip running the GC passes.
llvm-svn: 170836
2012-12-21 02:57:04 +00:00
Evan Cheng
69cb91fa21 Every pass deserves a name, even codegenprep.
llvm-svn: 170831
2012-12-21 01:48:14 +00:00
Nadav Rotem
3d4c6351cf Improve the X86 cost model for loads and stores.
llvm-svn: 170830
2012-12-21 01:33:59 +00:00
Nadav Rotem
ec327f0de1 BB-Vectorizer: Check the cost of the store pointer type
and not the return type, which is void. A number of test
cases fail after adding the assertion in TTImpl.

llvm-svn: 170828
2012-12-21 01:24:36 +00:00
Reed Kotler
6050530b1f Add test case for r170674
llvm-svn: 170823
2012-12-21 00:55:10 +00:00
Reed Kotler
d8213f114a Call llvm_unreachable instead of assert.
llvm-svn: 170822
2012-12-21 00:44:59 +00:00
Sean Silva
3101c69a79 docs: More robust image scaling fix.
Hopefully these benchmarks will be updated in the future, so avoid
hardcoding image dimensions.

llvm-svn: 170819
2012-12-21 00:28:42 +00:00
Sean Silva
deea25e239 docs: Prevent image scaling.
Tell the image to be its natural size.

llvm-svn: 170816
2012-12-21 00:20:25 +00:00
Nadav Rotem
80fefbe978 Fix a bug in the code that checks if we can vectorize loops while using dynamic
memory bound checks.  Before the fix we were able to vectorize this loop from
the Livermore Loops benchmark:

for ( k=1 ; k<n ; k++ )
  x[k] = x[k-1] + y[k];

llvm-svn: 170811
2012-12-21 00:07:35 +00:00
Eric Christopher
834b831d7d Move these files over to the debug info directory.
llvm-svn: 170810
2012-12-21 00:03:42 +00:00
Sean Silva
f8dea516c3 docs: Try out nosidebar.
Please squawk if you find this appalling or otherwise don't like it.

llvm-svn: 170803
2012-12-20 23:35:22 +00:00
Sean Silva
4fd7ae0dec docs: Cleanup trailing whitespace.
llvm-svn: 170799
2012-12-20 22:59:36 +00:00
Jakob Stoklund Olesen
c000c3d36d Require the two-argument MI::addOperand(MF, MO) for dangling instructions.
Instructions that are inserted in a basic block can still be decorated
with addOperand(MO).

Make the two-argument addOperand() function contain the actual
implementation. This function will now always have a valid MF reference
that it can use for memory allocation.

llvm-svn: 170798
2012-12-20 22:54:05 +00:00
Jakob Stoklund Olesen
c81d04b28d Add an MF argument to MI::copyImplicitOps().
This function is often used to decorate dangling instructions, so a
context reference is required to allocate memory for the operands.

Also add a corresponding MachineInstrBuilder method.

llvm-svn: 170797
2012-12-20 22:54:02 +00:00
Jakob Stoklund Olesen
ae8ba671bc Use two-arg addOperand(MF, MO) internally in MachineInstr when possible.
llvm-svn: 170796
2012-12-20 22:53:58 +00:00
Jakob Stoklund Olesen
6e5b46e8fb MachineInstrBuilderize ARM.
llvm-svn: 170795
2012-12-20 22:53:55 +00:00
Jakob Stoklund Olesen
bbac7014e0 MachineInstrBuilderize NVPTX.
llvm-svn: 170794
2012-12-20 22:53:53 +00:00
Eli Bendersky
b205b36a9a Fix an unitialized member variable that may have caused sporadic failures
for code that wasn't even in bundling mode.

llvm-svn: 170793
2012-12-20 22:51:52 +00:00