- Sep 08, 2013
-
-
Craig Topper authored
llvm-svn: 190259
-
Craig Topper authored
llvm-svn: 190258
-
- Sep 07, 2013
-
-
Akira Hatanaka authored
precision loads and stores as well as reg+imm double precision loads and stores. Previously, expansion of loads and stores was done after register allocation, but now it takes place during legalization. As a result, users will see double precision stores and loads being emitted to spill and restore 64-bit FP registers. llvm-svn: 190235
-
Akira Hatanaka authored
llvm-svn: 190234
-
Akira Hatanaka authored
llvm-svn: 190232
-
Akira Hatanaka authored
into a 5-bit or 6-bit field. llvm-svn: 190226
-
Akira Hatanaka authored
llvm-svn: 190224
-
Akira Hatanaka authored
llvm-svn: 190221
-
Akira Hatanaka authored
equivalent to "beq $zero, $zero, offset". llvm-svn: 190220
-
Akira Hatanaka authored
llvm-svn: 190219
-
- Sep 06, 2013
-
-
Aaron Watry authored
Signed-off-by:
Aaron Watry <awatry@gmail.com> Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 190200
-
Daniel Sanders authored
llvm-svn: 190156
-
Daniel Sanders authored
Tested with 'llvm-tblgen -print-records' which outputs identical records before and after this patch. llvm-svn: 190155
-
Vladimir Medic authored
This patch adds support for microMIPS Multiply and Add/Sub instructions. Test cases are included in patch. llvm-svn: 190154
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190153
-
Vladimir Medic authored
This patch adds support for microMIPS Move to/from HI/LO instructions. Test cases are included in patch. llvm-svn: 190152
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190151
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190150
-
Vladimir Medic authored
This patch adds support for microMIPS Move Conditional instructions. Test cases are included in patch. llvm-svn: 190148
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190146
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190145
-
Vladimir Medic authored
llvm-svn: 190144
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190143
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190142
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190141
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190140
-
Richard Sandiford authored
The architecture has many comparison instructions, including some that extend one of the operands. The signed comparison instructions use sign extensions and the unsigned comparison instructions use zero extensions. In cases where we had a free choice between signed or unsigned comparisons, we were trying to decide at lowering time which would best fit the available instructions, taking things like extension type into account. The code to do that was getting increasingly hairy and was also making some bad decisions. E.g. when comparing the result of two LLCs, it is better to use CR rather than CLR, since CR can be fused with a branch while CLR can't. This patch removes the lowering code and instead adds an operand to integer comparisons to say whether signed comparison is required, whether unsigned comparison is required, or whether either is OK. We can then leave the choice of instruction up to the normal isel code. llvm-svn: 190138
-
Daniel Sanders authored
No functional change llvm-svn: 190134
-
Daniel Sanders authored
Their default is to be the same as the result register set. No functional change llvm-svn: 190133
-
Daniel Sanders authored
No functional change llvm-svn: 190131
-
Richard Sandiford authored
llvm-svn: 190130
-
Tom Stellard authored
llvm-svn: 190110
-
Juergen Ributzka authored
If the DAG already has only legal types, then the second round of DAG combines is skipped. In this case VSELECT+SETCC patterns that match a more efficient instruction (e.g. min/max) are never recognized. This fix allows VSELECT+SETCC combines if the types are already legal before DAG type legalization. Reviewer: Nadav llvm-svn: 190105
-
- Sep 05, 2013
-
-
Kevin Enderby authored
expression uses an assembler temporary symbol from an assignment. In this case the symbol does not have a fragment so the use of getFragment() would be NULL and caused a crash. In the case of an assembler temporary symbol we want to use the AliasedSymbol (if any) which will create a local relocation entry, but if it is not an assembler temporary symbol then let it use that symbol with an external relocation entry. rdar://9356266 llvm-svn: 190096
-
Matt Arsenault authored
llvm-svn: 190091
-
Tom Stellard authored
llvm-svn: 190080
-
Tom Stellard authored
llvm-svn: 190079
-
Tom Stellard authored
GlobalAdderss nodes that appeared in more than one basic block were being counted twice. llvm-svn: 190078
-
Tom Stellard authored
llvm-svn: 190077
-
Tom Stellard authored
This pass was segfaulting when it ran into a non-intrinsic function call. Function calls are not supported, so now instead of segfaulting, we will get an assertion failure with a nice error message. I'm not sure how to test this using lit. llvm-svn: 190076
-