- Dec 20, 2013
-
-
Zoran Jovanovic authored
llvm-svn: 197815
-
- Dec 19, 2013
-
-
Zoran Jovanovic authored
llvm-svn: 197696
-
Zoran Jovanovic authored
llvm-svn: 197692
-
Zoran Jovanovic authored
llvm-svn: 197685
-
Reed Kotler authored
patch r196331. llvm-svn: 197638
-
Reed Kotler authored
tail call optimization. Some more work may be needed for indirect calls but this patch fixes the current regression in Prolangc++/trees. S2 optimization as part of the general cleanup and optimization of prolog and epilog was not saving S2 in this case and needed to. llvm-svn: 197630
-
- Dec 18, 2013
-
-
Rafael Espindola authored
This patch fixes the "n" and "S" components of the data layout for mips. Clang already gets this right. This will be tested in clang. llvm-svn: 197536
-
- Dec 17, 2013
-
-
Matheus Almeida authored
The branch offset for a R_MIPS_PC16 relocation is indeed a 16-bit signed immediate. llvm-svn: 197506
-
- Dec 16, 2013
-
-
Rafael Espindola authored
llvm-svn: 197400
-
Rafael Espindola authored
llvm-svn: 197397
-
Reed Kotler authored
that follows). llvm-svn: 197358
-
Reed Kotler authored
llvm-svn: 197357
-
- Dec 15, 2013
-
-
Reed Kotler authored
part of a multi-line pseudo which worked around a linker bug for mips16. llvm-svn: 197356
-
Reed Kotler authored
Some tiny cosmetic code changes to follow. Because of the wide ranging nature of the patch a full 24 test cycle was needed to check against regression. This was the smallest patch I could make to progress from the earlier ones in the series. llvm-svn: 197350
-
- Dec 13, 2013
-
-
Matheus Almeida authored
branch instructions for mips and micromips instruction sets thus avoiding the situation of generating branches to undesired locations if offsets cannot be encoded. This patch also checks if a fixup cannot be applied and returns a fatal error if that's the case. llvm-svn: 197223
-
- Dec 12, 2013
-
-
Reed Kotler authored
I don't know why this did not show up earlier. This code has been around for ages. llvm-svn: 197119
-
- Dec 11, 2013
-
-
Reed Kotler authored
llvm-svn: 196999
-
Rafael Espindola authored
llvm-svn: 196996
-
NAKAMURA Takumi authored
llvm-svn: 196988
-
- Dec 10, 2013
-
-
Reed Kotler authored
Save S2(reg 18) only when we are calling floating point stubs that have a return value of float or complex. Some more work to make this better but this is the first step. llvm-svn: 196921
-
Daniel Sanders authored
Summary: The result register of these instructions is also the first operand. Reviewers: jacksprat, dsanders Reviewed By: dsanders Differential Revision: http://llvm-reviews.chandlerc.com/D2362 Differential Revision: http://llvm-reviews.chandlerc.com/D2363 llvm-svn: 196910
-
NAKAMURA Takumi authored
I'll prune redundant deps in LLVMBuild.txt, later. llvm-svn: 196881
-
- Dec 09, 2013
-
-
Reed Kotler authored
llvm-svn: 196829
-
Reed Kotler authored
This is part of the mips16 epilogue/prologue cleanup. llvm-svn: 196824
-
Daniel Sanders authored
Summary: The MSA ld.[bhwd] and st.[bhwd] instructions scale the immediate by the element size before use as an offset. The offset must therefore be a multiple of the element size to be valid in these instructions. However, an unaligned base address is valid in MSA. This commit causes the compiler to emit valid code when the calculated offset is not a multiple of the element size by accounting for the offset using addiu and using a zero offset in the load/store. Depends on D2338 Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2339 llvm-svn: 196777
-
Daniel Sanders authored
Summary: The immediate in these instructions is scaled before use as an offset. They therefore have a wider reach than ld.b/st.b. Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2338 llvm-svn: 196775
-
Vladimir Medic authored
Method parseSetAssignment treats every operand with '$' sign as register and the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) As we can't make a complete solution now it has been decided to enable .set directive to handle long jump expressions. This will cause parser to report errors when parsing integer based register assignments, for example: .set r3, will be reported as error. Still, the need for expressions is higher priority as the integer based register assignments are Mips specific and can be avoided using register names. llvm-svn: 196773
-
- Dec 08, 2013
-
-
Reed Kotler authored
in the td file. llvm-svn: 196731
-
Reed Kotler authored
here is to make save/restore into variable number of argument instructions. llvm-svn: 196726
-
- Dec 06, 2013
-
-
Reed Kotler authored
llvm-svn: 196551
-
- Dec 05, 2013
-
-
Matheus Almeida authored
in case the operands are constants and its difference is |1|. It should be possible in those cases to rematerialize the result using MIPS's slt and similar instructions. The small update to some of the tests in cmov.ll, sel1c.ll and sel2c.ll was needed otherwise the optimization implemented in this patch would have been triggered (difference between the operands was 1) and that would have changed the semantic of the tests. llvm-svn: 196498
-
Matheus Almeida authored
The structure of the code was slightly modified so that the next patch is easier to read/review. No functional changes. llvm-svn: 196496
-
Matheus Almeida authored
not being correctly encoded/decoded. In more detail, immediate fields of LD/ST instructions should be divided/multiplied by the size of the data format before encoding and after decoding, respectively. llvm-svn: 196494
-
Alp Toker authored
This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities and contractions in nearby lines. llvm-svn: 196471
-
- Dec 04, 2013
-
-
Reed Kotler authored
this completes the basic port of ARM constant islands to Mips16. More testing, code review, cleanup is in order but basically everything seems to be working. A bug in gas is preventing some of the runtime testing but I hope to resolve this soon. llvm-svn: 196331
-
- Dec 02, 2013
-
-
Rafael Espindola authored
MO_JumpTableIndex and MO_ExternalSymbol don't show up on inline asm. Keeping parts of the old asm printer just to print inline asm to a string that we then parse back looks like a hack. llvm-svn: 196111
-
Rafael Espindola authored
llvm-svn: 196065
-
- Nov 30, 2013
-
-
Zoran Jovanovic authored
llvm-svn: 195975
-
Daniel Sanders authored
This prevents the compiler from emitting invalid ld.[bhwd]'s and st.[bhwd]'s when the stack frame is between 512 and 32,768 bytes in size. llvm-svn: 195973
-
Daniel Sanders authored
No functional change. An if-statement has been split into two nested if-statements. llvm-svn: 195972
-