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
Sean Silva
e13a7de1ee
docs: actually indent these consistently
...
llvm-svn: 170792
2012-12-20 22:49:13 +00:00
Sean Silva
24e57a087b
docs: Indent consistently in code examples.
...
llvm-svn: 170791
2012-12-20 22:47:41 +00:00
Sean Silva
220e0c5253
docs: Improve navigation for Vectorizers.rst
...
Add links in the intro paragraph.
Add table of contents.
llvm-svn: 170790
2012-12-20 22:42:20 +00:00
Sean Silva
04f52865e6
docs: bring back link for reddit.
...
llvm-svn: 170776
2012-12-20 22:24:37 +00:00
Eric Christopher
537c3f1bc9
Whitespace and 80-column cleanup.
...
llvm-svn: 170771
2012-12-20 21:58:40 +00:00
Eric Christopher
622a4d5b97
Start splitting out the debug string section handling by moving it
...
into the DwarfUnits class.
llvm-svn: 170770
2012-12-20 21:58:36 +00:00
Sean Silva
fbf8cf920e
docs: Make document name congruent with title.
...
Hopefully nobody has linked to it yet...
OK'd by Nadav.
llvm-svn: 170768
2012-12-20 21:50:41 +00:00
Bill Wendling
31f5f9fc8c
Some random comment, naming, and format changes.
...
Rename the AttributeImpl* from Attrs to pImpl to be consistent with other code.
Add comments where none were before. Or doxygen-ify other comments.
llvm-svn: 170767
2012-12-20 21:28:43 +00:00
Jakob Stoklund Olesen
abf1746cb5
Remove two dead functions.
...
llvm-svn: 170766
2012-12-20 21:12:42 +00:00
Bob Wilson
3cae2545eb
Revert "Adding support for llvm.arm.neon.vaddl[su].* and"
...
This reverts r170694. The operations can be represented in IR without
adding any new intrinsics.
llvm-svn: 170765
2012-12-20 21:09:38 +00:00
Nadav Rotem
ccffd4527d
LoopVectorize: Fix a bug in the scalarization of instructions.
...
Before if-conversion we could check if a value is loop invariant
if it was declared inside the basic block. Now that loops have
multiple blocks this check is incorrect.
This fixes External/SPEC/CINT95/099_go/099_go
llvm-svn: 170756
2012-12-20 20:24:40 +00:00