Eric Christopher [Wed, 24 Jul 2013 01:21:02 +0000 (01:21 +0000)]
Remove unnecessary constructors as the default conversions will handle
all enumerated cases. Reformat the rest of the existing constructors to
match.
llvm-svn: 187015
Eric Christopher [Wed, 24 Jul 2013 01:06:21 +0000 (01:06 +0000)]
More constructor cleanup.
Move to a single constructor with a default argument and avoid
the check and nullification.
llvm-svn: 187014
Eric Christopher [Wed, 24 Jul 2013 00:54:39 +0000 (00:54 +0000)]
Collapse logic and move and reword comment for clarity.
llvm-svn: 187013
Eric Christopher [Wed, 24 Jul 2013 00:54:36 +0000 (00:54 +0000)]
Add a fixme and reformat.
llvm-svn: 187012
Eric Christopher [Wed, 24 Jul 2013 00:36:11 +0000 (00:36 +0000)]
Remove one more of these.
llvm-svn: 187011
Eric Christopher [Wed, 24 Jul 2013 00:15:01 +0000 (00:15 +0000)]
Remove more dead/weird/misleading code.
llvm-svn: 187010
Eric Christopher [Wed, 24 Jul 2013 00:13:02 +0000 (00:13 +0000)]
Remove more seemingly unused code.
llvm-svn: 187009
Fariborz Jahanian [Tue, 23 Jul 2013 23:55:55 +0000 (23:55 +0000)]
ObjectiveC migration: more migration to
instancetype of NSDictionary methods.
llvm-svn: 187008
Tom Stellard [Tue, 23 Jul 2013 23:55:03 +0000 (23:55 +0000)]
DAGCombiner: Pass the correct type to TargetLowering::isF(Abs|Neg)Free
This commit also implements these functions for R600 and removes a test
case that was relying on the buggy behavior.
llvm-svn: 187007
Tom Stellard [Tue, 23 Jul 2013 23:54:56 +0000 (23:54 +0000)]
R600: Treat CONSTANT_ADDRESS loads like GLOBAL_ADDRESS loads when necessary
These are really the same address space in hardware. The only
difference is that CONSTANT_ADDRESS uses a special cache for faster
access. When we are unable to use the constant kcache for some reason
(e.g. smaller types or lack of indirect addressing) then the instruction
selector must use GLOBAL_ADDRESS loads instead.
llvm-svn: 187006
Nick Kledzik [Tue, 23 Jul 2013 23:42:17 +0000 (23:42 +0000)]
Add lit magic so that lld unittests are run as part of lld test suite
llvm-svn: 187005
Fariborz Jahanian [Tue, 23 Jul 2013 23:34:42 +0000 (23:34 +0000)]
ObjectiveC migrator: start migrating to
instancetype methods.
llvm-svn: 187004
Manman Ren [Tue, 23 Jul 2013 23:10:00 +0000 (23:10 +0000)]
Debug Info: improve the Finder.
Improve the Finder to handle context of a DIVariable.
If Scope is a DICompileUnit, add it to the list of CUs.
llvm-svn: 187003
Manman Ren [Tue, 23 Jul 2013 23:07:38 +0000 (23:07 +0000)]
Debug Info: clean up.
llvm-svn: 187002
Eric Christopher [Tue, 23 Jul 2013 22:50:42 +0000 (22:50 +0000)]
Remove unused function.
llvm-svn: 187001
Fariborz Jahanian [Tue, 23 Jul 2013 22:42:28 +0000 (22:42 +0000)]
ObjC migrator: more knobs toward doing
instancetype migration.
llvm-svn: 187000
Quentin Colombet [Tue, 23 Jul 2013 22:34:47 +0000 (22:34 +0000)]
[ARM][ISel] Improve the lowering of vector loads.
When vectors are built from a single value, the ARM lowering issues a
scalar_to_vector node.
This node is then always morphed into a move from the general purpose unit to
the vector unit.
When the value comes from a load, this can be simplified into a vector load to
the right lane.
This patch changes the lowering of insert_vector_elt to expose a vector
friendly pattern in this situation.
This is a step toward fixing <rdar://problem/
14170854>.
llvm-svn: 186999
Eric Christopher [Tue, 23 Jul 2013 22:29:19 +0000 (22:29 +0000)]
Keep similar classes near each other. No functional change.
llvm-svn: 186998
Matt Arsenault [Tue, 23 Jul 2013 22:20:57 +0000 (22:20 +0000)]
Fix spelling
llvm-svn: 186997
Nick Kledzik [Tue, 23 Jul 2013 22:17:47 +0000 (22:17 +0000)]
fix typo in error string
llvm-svn: 186996
Eric Christopher [Tue, 23 Jul 2013 22:16:44 +0000 (22:16 +0000)]
80-column.
llvm-svn: 186995
Eric Christopher [Tue, 23 Jul 2013 22:16:41 +0000 (22:16 +0000)]
Reformat options.
llvm-svn: 186994
Bill Schmidt [Tue, 23 Jul 2013 22:15:57 +0000 (22:15 +0000)]
[PowerPC64] Fix passing of single-vector-member structs to match ABI.
The 64-bit PowerPC ELF ABI requires a struct that contains a single
vector member to be passed in a vector register as though the wrapping
struct were not present. Instead we were passing this as a byval
struct.
The same logic was already present for floating-point arguments, so
this patch just extends the logic to handle vector types. The new
test case verifies that clang coerces the parameter and annotates it
as inreg.
Thanks,
Bill
llvm-svn: 186993
Matt Kopec [Tue, 23 Jul 2013 22:08:15 +0000 (22:08 +0000)]
Fix rvalue test makefile.
llvm-svn: 186992
Howard Hinnant [Tue, 23 Jul 2013 22:01:58 +0000 (22:01 +0000)]
Debug mode for unordered_set. I believe this to be fairly complete for
unordered_set, however it is not complete yet for unordered_multiset,
unordered_map or unordered_multimap. There has been a lot of work done
for these other three containers, however that work was done just to
keep all of the tests passing.
You can try this out with -D_LIBCPP_DEBUG2. You will have to link to a
libc++.dylib that has been compiled with src/debug.cpp. So far, vector
(but not vector<bool>), list, and unordered_set are treated. I hope to
get the other three unordered containers up fairly quickly now that
unordered_set is done.
The flag _LIBCPP_DEBUG2 will eventually be changed to _LIBCPP_DEBUG, but
not today. This is my second effort at getting debug mode going for
libc++, and I'm not quite yet ready to throw all of the work under the
first attempt away.
The basic design is that all of the debug information is kept in a
central database, instead of in the containers. This has been done as
an attempt to have debug mode and non-debug mode be ABI compatible with
each other. There are some circumstances where if you construct a
container in an environment without debug mode and pass it into debug
mode, the checking will get confused and let you know with a readable
error message. Passing containers the other way: from debug mode out to
a non-debugging mode container should be 100% safe (at least that is the
goal).
llvm-svn: 186991
Stefanus Du Toit [Tue, 23 Jul 2013 21:34:03 +0000 (21:34 +0000)]
Remove builtin attribute from calls whose targets we replace
If we are replacing a function with the nobuiltin attribute, it may be called
with the builtin attribute on call sites. Remove any such attributes since it's
illegal to have a builtin call to something other than a nobuiltin function.
This fixes the current buildbot breakage (where LLDB crashes on
"expression new foo(42)").
llvm-svn: 186990
Hans Wennborg [Tue, 23 Jul 2013 21:17:14 +0000 (21:17 +0000)]
Remove HelpText for -fno-diagnostics-show-note-include-stack
The help text was wrong, and we already provide help text on the
option that actually changes anything, i.e. -fdiagnostics-show-note-include-stack.
llvm-svn: 186989
Richard Trieu [Tue, 23 Jul 2013 21:06:45 +0000 (21:06 +0000)]
Changed "an macro" to "a macro" in diagnostic note.
llvm-svn: 186988
Eli Bendersky [Tue, 23 Jul 2013 21:05:21 +0000 (21:05 +0000)]
Expand the comment on getOpenFileSlice a bit for more details and consistency
llvm-svn: 186987
Eli Bendersky [Tue, 23 Jul 2013 20:58:51 +0000 (20:58 +0000)]
Refactor the unit test for MemoryBuffer::getOpenFileSlice
Run in two different modes: with and without reopening the temporary file
between creating it and mapping it with MemoryBuffer.
llvm-svn: 186986
Manman Ren [Tue, 23 Jul 2013 20:39:32 +0000 (20:39 +0000)]
Debug Info: code cleanup, use getNodeField if possible.
Use getNodeField to access a field as a MDNode.
No functionality change.
llvm-svn: 186985
Rafael Espindola [Tue, 23 Jul 2013 20:25:01 +0000 (20:25 +0000)]
Split getOpenFile into getOpenFile and getOpenFileSlice.
The main observation is that we never need both the filesize and the map size.
When mapping a slice of a file, it doesn't make sense to request a null
terminator and that would be the only case where the filesize would be used.
There are other cleanups that should be done in this area:
* A client should not have to pass the size (even an explicit -1) to say if
it wants a null terminator or not, so we should probably swap the argument
order.
* The default should be to not require a null terminator. Very few clients
require this, but many end up asking for it just because it is the default.
llvm-svn: 186984
Rafael Espindola [Tue, 23 Jul 2013 19:55:06 +0000 (19:55 +0000)]
Remove support for CCC_ADD_ARGS. QA_OVERRIDE_GCC3_OPTIONS supersedes it.
llvm-svn: 186983
Aaron Ballman [Tue, 23 Jul 2013 19:37:19 +0000 (19:37 +0000)]
Removing a number of individual run lines and replacing them with single line test cases. This reduces the number of test runs, provides the same coverage, and allows us to test that the attribute names are included in the diagnostic.
llvm-svn: 186982
Fariborz Jahanian [Tue, 23 Jul 2013 19:31:17 +0000 (19:31 +0000)]
ObjC migrator: Define family of methods
which are candidate for migrating to
'instancetype'. wip.
llvm-svn: 186981
Aaron Ballman [Tue, 23 Jul 2013 19:30:11 +0000 (19:30 +0000)]
Added the attribute name to the err_attribute_wrong_number_arguments diagnostic for clarity; updated almost all of the affected test cases.
Thanks to Fariborz Jahanian for the suggestion!
llvm-svn: 186980
Ed Maste [Tue, 23 Jul 2013 19:19:23 +0000 (19:19 +0000)]
Skip test reported to hang the FreeBSD buildbot
llvm-svn: 186979
Rafael Espindola [Tue, 23 Jul 2013 18:44:31 +0000 (18:44 +0000)]
Fix use of the getOpenFile api.
The gold plugin was passing the desired map size as the file size. This was
working for two reasons:
* Recent version of gold provide the get_view callback, so this code was not
used.
* In older versions, getOpenFile was called, but the file size is never used
if we don't require null terminated buffers and map size defaults to the
file size.
Thanks to Eli Bendersky for noticing this.
I will try to make this api a bit less error prone.
llvm-svn: 186978
Ed Maste [Tue, 23 Jul 2013 18:41:48 +0000 (18:41 +0000)]
elf-core: Remove now-unused compile-time FreeBSD support
This change removes the final instances of compile-time #ifdef magic
from the elf core plugin. Also rename the classes to ELFLinux... as
they're specific to Linux.
llvm-svn: 186977
Ed Maste [Tue, 23 Jul 2013 18:37:11 +0000 (18:37 +0000)]
elf-core: Add helper function for parsing FreeBSD NT_PRSTATUS
This avoids the use of the ELFPrStatus class, which returns to being
used only for Linux.
llvm-svn: 186976
Ed Maste [Tue, 23 Jul 2013 18:30:49 +0000 (18:30 +0000)]
elf-core: Improve FreeBSD support and move data extraction to parse time
Extracting thread data at parse time simplifies multi-platform support.
This change adds FreeBSD thread names and auxv info.
Thanks to Samuel Jacob for review, testing, and improvements.
llvm-svn: 186975
Enea Zaffanella [Tue, 23 Jul 2013 18:25:15 +0000 (18:25 +0000)]
Removed useless source loc field in UnresolvedUsingTypenameDecl node.
llvm-svn: 186974
Ed Maste [Tue, 23 Jul 2013 18:22:17 +0000 (18:22 +0000)]
elf-core: Parse vendor-specific notes
ELF notes contain a 'name' field, which specifies a vendor who defines
the format of the note. Examples are 'FreeBSD' or 'GNU', or it may be
empty for generic notes.
Add a case for FreeBSD-specific notes, leaving Linux and GNU notes,
other vendor-specific notes, and generic notes to be handled by the
existing code for now.
Thanks to Samuel Jacob for reviewing and suggesting improvements.
llvm-svn: 186973
Manman Ren [Tue, 23 Jul 2013 18:14:25 +0000 (18:14 +0000)]
DebugInfo Verifier: verify the actual type.
llvm-svn: 186972
Richard Trieu [Tue, 23 Jul 2013 18:01:49 +0000 (18:01 +0000)]
Add new diagnostic messages when too many arguments are presented to a
function-like macro. Clang will attempt to correct the arguments by detecting
braced initializer lists:
1) If possible, suggest parentheses around arguments
containing braced lists which will give the proper number of arguments.
2) If a braced list is detected at the start of a macro argument, it cannot be
corrected by parentheses. Instead, just point out the location of these
braced lists.
llvm-svn: 186971
Rafael Espindola [Tue, 23 Jul 2013 17:58:53 +0000 (17:58 +0000)]
Remove the -ccc-echo option that is now unused.
llvm-svn: 186970
Ahmed Bougacha [Tue, 23 Jul 2013 17:44:11 +0000 (17:44 +0000)]
Revert "Remove use of asymmetric std::lower_bound comparator."
This reverts commit r185676.
Originally done because of VS 2008.
llvm-svn: 186969
Ahmed Bougacha [Tue, 23 Jul 2013 17:44:01 +0000 (17:44 +0000)]
docs: Update old VS 2008 references.
llvm-svn: 186968
Argyrios Kyrtzidis [Tue, 23 Jul 2013 17:36:21 +0000 (17:36 +0000)]
[libclang] Expose the rest of the array types.
Patch by Che-Liang Chiou!
llvm-svn: 186967
Aaron Ballman [Tue, 23 Jul 2013 17:35:26 +0000 (17:35 +0000)]
Going back to using getName for consistency.
llvm-svn: 186966
Ahmed Bougacha [Tue, 23 Jul 2013 17:32:57 +0000 (17:32 +0000)]
docs: cleanup VS 2008 release note.
Remove trailing ')'. Sorry about all that, should be good now!
llvm-svn: 186965
Stefanus Du Toit [Tue, 23 Jul 2013 17:29:44 +0000 (17:29 +0000)]
Remove spurious "-C" flag from CMake command lines in build.html.
-C usually specifies a script to prepopulate the CMake cache. In this case no
script is specified, so CMake appears to just ignore it. So don't mention it
in the first place - it's not desired anyways.
Reviewed by: Daniel Malea
llvm-svn: 186964
Ahmed Bougacha [Tue, 23 Jul 2013 17:28:35 +0000 (17:28 +0000)]
docs: Correct reST link.
llvm-svn: 186963
Hans Wennborg [Tue, 23 Jul 2013 17:26:56 +0000 (17:26 +0000)]
Expand test/Driver/at_file.c test to check that PR16209 is fixed.
It was fixed by r186603.
llvm-svn: 186962
Ahmed Bougacha [Tue, 23 Jul 2013 17:25:26 +0000 (17:25 +0000)]
Update docs to drop support for VS 2008.
llvm-svn: 186961
Rui Ueyama [Tue, 23 Jul 2013 17:25:25 +0000 (17:25 +0000)]
Avoid using C-style cast and remove unnecessary LL prefix.
llvm-svn: 186960
Ashok Thirumurthi [Tue, 23 Jul 2013 17:20:17 +0000 (17:20 +0000)]
Adds a test for "disassemble -a" after an assert, which can fail with ELF
because a synthetic symbol hasn't been provided for stripped function symbols.
llvm-svn: 186959
Stefanus Du Toit [Tue, 23 Jul 2013 17:18:43 +0000 (17:18 +0000)]
Add instructions to www/source.html for using the Git mirror for those so inclined.
Reviewed by: Daniel Malea
llvm-svn: 186958
Rui Ueyama [Tue, 23 Jul 2013 17:17:19 +0000 (17:17 +0000)]
[PECOFF] Support -tsaware:no command line option.
llvm-svn: 186957
Marshall Clow [Tue, 23 Jul 2013 17:05:24 +0000 (17:05 +0000)]
Implement string suffixes from N3642
llvm-svn: 186956
Benjamin Kramer [Tue, 23 Jul 2013 16:18:53 +0000 (16:18 +0000)]
Remove unused diagnostics.
llvm-svn: 186955
Howard Hinnant [Tue, 23 Jul 2013 16:18:04 +0000 (16:18 +0000)]
Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions.
For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a"
llvm-svn: 186954
Jordan Rose [Tue, 23 Jul 2013 16:12:18 +0000 (16:12 +0000)]
Remove line number from test/Analysis/crash-trace.c.
...and hopefully, finally, unbreak buildbots.
llvm-svn: 186953
Howard Hinnant [Tue, 23 Jul 2013 16:05:56 +0000 (16:05 +0000)]
Add some friendly messages to libcxx calls to abort().
llvm-svn: 186951
Jordan Rose [Tue, 23 Jul 2013 16:02:54 +0000 (16:02 +0000)]
Mark test/Analysis/crash-trace.c as requiring crash recovery.
This plus Rafael's fix at r186943 should keep all the buildbots happy.
llvm-svn: 186950
Rafael Espindola [Tue, 23 Jul 2013 15:57:21 +0000 (15:57 +0000)]
Convert another test to -###.
llvm-svn: 186949
Ariel J. Bernal [Tue, 23 Jul 2013 15:52:07 +0000 (15:52 +0000)]
Fix doxygen warnings
It seems that doxygen fails to find overloaded methods when the parameters are
not in sync with the method declaration.
Added the fully-qualifed type to the parameters method definition although it's
not necessary since the using directive is in effect.
llvm-svn: 186948
Aaron Ballman [Tue, 23 Jul 2013 15:21:34 +0000 (15:21 +0000)]
Fixing the build bots from the previous commit.
llvm-svn: 186947
Rafael Espindola [Tue, 23 Jul 2013 15:20:22 +0000 (15:20 +0000)]
Add missing quotes for -###.
Sorry about forgetting to include this in the previous patch.
llvm-svn: 186946
Rafael Espindola [Tue, 23 Jul 2013 15:17:51 +0000 (15:17 +0000)]
Use -### instead of -ccc-echo.
This is still a fairly odd test. Clang wants to run gcc for assembling. At
least with -### it only prints that instead of actually trying to run it with
-ccc-echo.
llvm-svn: 186945
Aaron Ballman [Tue, 23 Jul 2013 15:16:00 +0000 (15:16 +0000)]
Replacing some manual diagnostic checks with an existing helper method. Adding missing test cases for the diagnostics.
llvm-svn: 186944
Rafael Espindola [Tue, 23 Jul 2013 15:02:28 +0000 (15:02 +0000)]
Run %clang_cc1, it is the one that actually crashes.
llvm-svn: 186943
Aaron Ballman [Tue, 23 Jul 2013 14:54:24 +0000 (14:54 +0000)]
Removed a redundant diagnostic and replaced it with a more standard one. Added a test case for the diagnostic.
llvm-svn: 186942
Aaron Ballman [Tue, 23 Jul 2013 14:03:57 +0000 (14:03 +0000)]
Consolidate several attribute argument diagnostics into a single, selectable diagnostic. This makes the diagnostic more consistent.
llvm-svn: 186940
Rafael Espindola [Tue, 23 Jul 2013 13:18:20 +0000 (13:18 +0000)]
Add not so that these tests pass with pipefail enabled.
llvm-svn: 186939
Edwin Vane [Tue, 23 Jul 2013 12:50:03 +0000 (12:50 +0000)]
cp11-migrate: Integration with LibFormat
Adding a feature to optionally reformat code changed by the migrator. Like
LibFormat, can choose between built-in styles (LLVM, Mozilla, Google, Chromium)
or use a YAML-format config file.
Now with no dependency on iostream by the Reformatting.cpp LIT test.
Author: Guillaume Papin <guillaume.papin@epitech.eu>
llvm-svn: 186938
Rafael Espindola [Tue, 23 Jul 2013 12:31:37 +0000 (12:31 +0000)]
Add -disable-debug-info-verifier.
Found while testing with pipefail enabled.
llvm-svn: 186937
Aaron Ballman [Tue, 23 Jul 2013 12:13:14 +0000 (12:13 +0000)]
Correcting the NSObject and Overloadable attribute diagnostics so that the count reported matches reality.
llvm-svn: 186936
Rafael Espindola [Tue, 23 Jul 2013 11:02:16 +0000 (11:02 +0000)]
Fix the build in c++03 mode.
llvm-svn: 186935
Rafael Espindola [Tue, 23 Jul 2013 10:47:01 +0000 (10:47 +0000)]
Add an initial implementation of archive symbol table generation.
The symbol table has forward references in the file. Instead of allocating
a temporary buffer or counting the size and then writing, this implementation
writes a dummy value first and patches it once the final value is known.
There is room for performance improvement. I will implement them as soon as I
get some other features (like a ranlib mode) in.
llvm-svn: 186934
Richard Smith [Tue, 23 Jul 2013 08:14:48 +0000 (08:14 +0000)]
C++1y literal suffix support:
* Allow ns, us, ms, s, min, h as numeric ud-suffixes
* Allow s as string ud-suffix
llvm-svn: 186933
Craig Topper [Tue, 23 Jul 2013 06:45:34 +0000 (06:45 +0000)]
Remove some errant space charcters in mnemonic strings.
llvm-svn: 186932
Shuxin Yang [Tue, 23 Jul 2013 06:44:34 +0000 (06:44 +0000)]
remove unnecessary space
llvm-svn: 186931
NAKAMURA Takumi [Tue, 23 Jul 2013 06:41:51 +0000 (06:41 +0000)]
llvm/test/DebugInfo/X86/dbg-value-range.ll: Add -disable-debug-info-verifier, too, since r186902.
llvm-svn: 186930
Craig Topper [Tue, 23 Jul 2013 06:27:36 +0000 (06:27 +0000)]
Remove 'else' after 'return'. No functional change.
llvm-svn: 186929
Craig Topper [Tue, 23 Jul 2013 06:25:00 +0000 (06:25 +0000)]
Remove trailing whitespace.
llvm-svn: 186928
Jordan Rose [Tue, 23 Jul 2013 02:15:20 +0000 (02:15 +0000)]
[analyzer] Enable pseudo-destructor expressions.
These are cases where a scalar type is "destructed", usually due to
template instantiation (e.g. "obj.~T()", where 'T' is 'int'). This has
no actual effect and the analyzer should just skip over it.
llvm-svn: 186927
Jordan Rose [Tue, 23 Jul 2013 02:15:16 +0000 (02:15 +0000)]
[analyzer] Add test for crash tracing (r186639)
llvm-svn: 186926
Jordan Rose [Tue, 23 Jul 2013 02:15:11 +0000 (02:15 +0000)]
Revert "[analyzer] Add very limited support for temporary destructors"
The analyzer doesn't currently expect CFG blocks with terminators to be
empty, but this can happen when generating conditional destructors for
a complex logical expression, such as (a && (b || Temp{})). Moreover,
the branch conditions for these expressions are not persisted in the
state. Even for handling noreturn destructors this needs more work.
This reverts r186498.
llvm-svn: 186925
Craig Topper [Tue, 23 Jul 2013 01:50:47 +0000 (01:50 +0000)]
Don't let x86 asm printer use the no operand movsd alias. It should use the normal movsl instead.
llvm-svn: 186924
Tom Stellard [Tue, 23 Jul 2013 01:48:49 +0000 (01:48 +0000)]
R600: Add support for 24-bit MAD instructions
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186923
Tom Stellard [Tue, 23 Jul 2013 01:48:42 +0000 (01:48 +0000)]
R600: Add support for 24-bit MUL instructions
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186922
Tom Stellard [Tue, 23 Jul 2013 01:48:35 +0000 (01:48 +0000)]
R600: Improve support for < 32-bit loads
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186921
Tom Stellard [Tue, 23 Jul 2013 01:48:29 +0000 (01:48 +0000)]
R600: Rename AMDILISelDAGToDAG.cpp -> AMDGPUISelDAGToDAG.cpp
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186920
Tom Stellard [Tue, 23 Jul 2013 01:48:24 +0000 (01:48 +0000)]
R600: Move CONST_ADDRESS folding into AMDGPUDAGToDAGISel::Select()
This increases the number of opportunites we have for folding. With the
previous implementation we were unable to fold into any instructions
other than the first when multiple instructions were selected from a
single SDNode.
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186919
Tom Stellard [Tue, 23 Jul 2013 01:48:18 +0000 (01:48 +0000)]
R600: Use KCache for kernel arguments
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186918
Tom Stellard [Tue, 23 Jul 2013 01:48:08 +0000 (01:48 +0000)]
R600: Simplify assembly for KCache registers using the TableGen !add operator
Before:
MOV * T0.W, KC0[131-128].Y
After:
MOV * T0.W, KC0[3].Y
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186917
Tom Stellard [Tue, 23 Jul 2013 01:48:05 +0000 (01:48 +0000)]
R600: Use the same compute kernel calling convention for all GPUs
A side-effect of this is that now the compiler expects kernel arguments
to be 4-byte aligned.
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186916
Tom Stellard [Tue, 23 Jul 2013 01:47:58 +0000 (01:47 +0000)]
R600: Use correct LoadExtType when lowering kernel arguments
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186915
Tom Stellard [Tue, 23 Jul 2013 01:47:52 +0000 (01:47 +0000)]
R600: Clean up extended load patterns
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
llvm-svn: 186914