Tom Stellard
7e44e13b15
R600/SI: Add support for global loads
...
llvm-svn: 183131
2013-06-03 17:39:43 +00:00
Tom Stellard
8e0ca8c4b9
R600/SI: Rework MUBUF store instructions
...
The lowering of stores is now mostly handled in the tablegen files. No
more BUFFER_STORE nodes I generated during legalization.
llvm-svn: 183130
2013-06-03 17:39:37 +00:00
Vincent Lejeune
991eb7f653
R600: 3 op instructions have no write bit but the result are store in PV
...
llvm-svn: 183111
2013-06-03 15:56:12 +00:00
Vincent Lejeune
97b4286f95
R600: CALL_FS consumes a stack size entry
...
llvm-svn: 183108
2013-06-03 15:44:42 +00:00
Vincent Lejeune
55871f8f8a
R600: use capital letter for PV channel
...
llvm-svn: 183107
2013-06-03 15:44:35 +00:00
Vincent Lejeune
66af4ee12a
R600: Constraints input regs of interp_xy,_zw
...
llvm-svn: 183106
2013-06-03 15:44:16 +00:00
Kostya Serebryany
7742c9ba32
[asan] ASan Linux MIPS32 support (llvm part), patch by Jyun-Yan Y
...
llvm-svn: 183104
2013-06-03 14:46:56 +00:00
Ahmed Bougacha
581578b651
X86: sub_xmm registers are 128 bits wide.
...
llvm-svn: 183103
2013-06-03 14:42:40 +00:00
Alexey Samsonov
a4e889ae51
Correct handling invalid filename in llvm-symbolizer
...
llvm-svn: 183102
2013-06-03 14:12:39 +00:00
Manuel Klimek
77c6916919
Introduce needsCleanup() for APFloat and APInt.
...
This is needed in clang so one can check if the object needs the
destructor called after its memory was freed. This is useful when
creating many APInt/APFloat objects with placement new, where the
overhead of tracking the pointers for cleanup is significant.
llvm-svn: 183100
2013-06-03 13:03:05 +00:00
Venkatraman Govindaraju
2d5d39937e
Sparc: Add support for indirect branch and blockaddress in Sparc backend.
...
llvm-svn: 183094
2013-06-03 05:58:33 +00:00
Rui Ueyama
ab6877d693
[Object/COFF] Fix Windows .lib name handling.
...
llvm-svn: 183091
2013-06-03 00:27:03 +00:00
Venkatraman Govindaraju
b47bd839e0
Sparc: When storing 0, use %g0 directly in the store instruction instead of
...
using two instructions (sethi and store).
llvm-svn: 183090
2013-06-03 00:21:54 +00:00
Venkatraman Govindaraju
0514a4c845
Sparc: Combine add/or/sethi instruction with restore if possible.
...
llvm-svn: 183088
2013-06-02 21:48:17 +00:00
Rui Ueyama
91b0546532
[Object/COFF] Add dos_header, pe32{,plus}_header and data_directory.
...
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D905
llvm-svn: 183087
2013-06-02 21:08:45 +00:00
Jim Grosbach
9777b1540e
Whitespace.
...
llvm-svn: 183086
2013-06-02 19:51:54 +00:00
Venkatraman Govindaraju
acb910b7ae
Sparc: Perform leaf procedure optimization by default
...
llvm-svn: 183083
2013-06-02 02:24:27 +00:00
Benjamin Kramer
36e2996805
Try to avoid "integer literal too big" warnings from older GCCs.
...
llvm-svn: 183081
2013-06-01 22:29:41 +00:00
Nick Lewycky
8e323b56b7
When determining the new index for an insertelement, we may not assume that an
...
index greater than the size of the vector is invalid. The shuffle may be
shrinking the size of the vector. Fixes a crash!
Also drop the maximum recursion depth of the safety check for this
optimization to five.
llvm-svn: 183080
2013-06-01 20:51:31 +00:00
Venkatraman Govindaraju
2425aef2ad
Sparc: Mark functions calling llvm.vastart and llvm.returnaddress intrinsics as non-leaf functions.
...
llvm-svn: 183079
2013-06-01 20:42:48 +00:00
David Majnemer
e4ddd4aa62
SimplifyCFG: Fix typo in comment for ComputeSpeculationCost
...
llvm-svn: 183078
2013-06-01 19:43:23 +00:00
Benjamin Kramer
13dba6bf7c
Move getRealLinkageName to a common place and remove all the duplicates of it.
...
Also simplify code a bit while there. No functionality change.
llvm-svn: 183076
2013-06-01 17:51:14 +00:00
Benjamin Kramer
1fa157140a
Move object construction into [] so the temporary can be moved.
...
No functionality change.
llvm-svn: 183075
2013-06-01 17:51:03 +00:00
Benjamin Kramer
d88c18ff6c
DenseMap: Move the key into place when we use the move version of operator[].
...
llvm-svn: 183074
2013-06-01 16:37:55 +00:00
Benjamin Kramer
f7427d954c
APInt: Simplify code. No functionality change.
...
llvm-svn: 183073
2013-06-01 11:26:39 +00:00
Benjamin Kramer
0116e00b91
APFloat: Use isDenormal instead of hand-rolled code to check for denormals.
...
llvm-svn: 183072
2013-06-01 11:26:33 +00:00
Tim Northover
6730241022
Disable new legacy JIT test on ARM.
...
llvm-svn: 183071
2013-06-01 10:24:11 +00:00
Tim Northover
e84e621d63
Revert r183069: "TMP: LEA64_32r fixing"
...
Very sorry, it was committed from the wrong branch by mistake.
llvm-svn: 183070
2013-06-01 10:23:46 +00:00
Tim Northover
93287c3991
TMP: LEA64_32r fixing
...
llvm-svn: 183069
2013-06-01 10:21:54 +00:00
Tim Northover
8efc0e4868
X86: change MOV64ri64i32 into MOV32ri64
...
The MOV64ri64i32 instruction required hacky MCInst lowering because it
was allocated as setting a GR64, but the eventual instruction ("movl")
only set a GR32. This converts it into a so-called "MOV32ri64" which
still accepts a (appropriate) 64-bit immediate but defines a GR32.
This is then converted to the full GR64 by a SUBREG_TO_REG operation,
thus keeping everyone happy.
This fixes a typo in the opcode field of the original patch, which
should make the legact JIT work again (& adds test for that problem).
llvm-svn: 183068
2013-06-01 09:55:14 +00:00
Venkatraman Govindaraju
1eaf496598
[Sparc] Generate correct code for leaf functions with stack objects
...
llvm-svn: 183067
2013-06-01 04:51:18 +00:00
Michael Gottesman
0863d85015
Removed a comment above an include which is unnecessary and added a missing closing @} for a doxygen comment.
...
llvm-svn: 183065
2013-06-01 00:48:24 +00:00
Michael Gottesman
b3a5774ce3
Added method comments for getZero,getInf.
...
llvm-svn: 183064
2013-06-01 00:44:29 +00:00
Michael Gottesman
54dda81429
Updated APFloat's comments to fit the LLVM style guide.
...
Also added a few more method comments and performed some copy editing.
llvm-svn: 183063
2013-06-01 00:44:05 +00:00
Ahmed Bougacha
2263547c8f
Make SubRegIndex size mandatory, following r183020.
...
This also makes TableGen able to compute sizes/offsets of synthesized
indices representing tuples.
llvm-svn: 183061
2013-05-31 23:45:26 +00:00
Andrew Trick
fafe6e2851
Prevent loop-unroll from making assumptions about undefined behavior.
...
Fixes rdar:14036816, PR16130.
There is an opportunity to compute precise trip counts for 'or'
expressions and multi-exit loops.
rdar:14038809: Optimize trip count computation for multi-exit loops.
To do this we need to record the fact that ExitLimit assumes NSW. When
it does not we can safely assume that the loop trip count is the
minimum ExitLimt across all subexpressions and loop exits.
llvm-svn: 183060
2013-05-31 23:34:46 +00:00
Eric Christopher
e4ab862999
Temporarily Revert "X86: change MOV64ri64i32 into MOV32ri64" as it
...
seems to have caused PR16192 and other JIT related failures.
llvm-svn: 183059
2013-05-31 23:30:45 +00:00
Eric Christopher
fd692fbd15
Const-ify some printing and dumping code for DIEValues.
...
llvm-svn: 183057
2013-05-31 22:50:40 +00:00
Eric Christopher
67d642450e
Add support for adding the contents of a StringRef to the MD5 hash.
...
llvm-svn: 183054
2013-05-31 22:34:56 +00:00
Eric Christopher
3b08ea0a4f
Convert more unsigned char -> uint8_t.
...
llvm-svn: 183053
2013-05-31 22:34:52 +00:00
Eric Christopher
5f8ece3717
Fix comment.
...
llvm-svn: 183052
2013-05-31 22:34:48 +00:00
Eric Christopher
5877c8cf30
Move "unsigned char" -> "uint8_t".
...
llvm-svn: 183051
2013-05-31 22:34:34 +00:00
Arnold Schwaighofer
1ddd15e16f
LoopVectorize: Change API call to get the backedge taken count
...
Use ScalarEvolution's getBackedgeTakenCount API instead of getExitCount since
that is really what we want to know. Using the more specific getExitCount was
safe because we made sure that there is only one exiting block.
No functionality change.
llvm-svn: 183047
2013-05-31 21:48:56 +00:00
Quentin Colombet
3e2682d134
Loop Strength Reduce: Scaling factor cost.
...
Account for the cost of scaling factor in Loop Strength Reduce when rating the
formulae. This uses a target hook.
The default implementation of the hook is: if the addressing mode is legal, the
scaling factor is free.
<rdar://problem/13806271>
llvm-svn: 183045
2013-05-31 21:29:03 +00:00
Rafael Espindola
3209887408
Use just a ArrayRef<uint8_t> to store both hex string and binary data.
...
llvm-svn: 183043
2013-05-31 21:03:51 +00:00
Rafael Espindola
64fb26327c
Rename COFFYaml.h to COFFYAML.h for consistency.
...
llvm-svn: 183042
2013-05-31 20:38:27 +00:00
Rafael Espindola
3a1a41caee
Remove union to fix build in c++03.
...
llvm-svn: 183041
2013-05-31 20:35:58 +00:00
Rafael Espindola
2f8e5cb38d
Don't allocate temporary string for section data.
...
llvm-svn: 183040
2013-05-31 20:26:44 +00:00
Arnold Schwaighofer
12f1ab46d1
LoopVectorize: PHIs with only outside users should prevent vectorization
...
We check that instructions in the loop don't have outside users (except if
they are reduction values). Unfortunately, we skipped this check for
if-convertable PHIs.
Fixes PR16184.
llvm-svn: 183035
2013-05-31 19:53:50 +00:00
Benjamin Kramer
c60747c08c
NVPTX: Don't even create a regalloc if we're not going to use it.
...
Fixes a leak found by valgrind.
llvm-svn: 183031
2013-05-31 19:21:58 +00:00