Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
b554bba9 |
| 25-Nov-2014 |
Zoran Jovanovic <zoran.jovanovic@imgtec.com> |
[mips][micromips] Use call instructions with short delay slots Differential Revision: http://reviews.llvm.org/D6338
llvm-svn: 222752
|
#
3b8ddb66 |
| 21-Nov-2014 |
Jozef Kolek <jozef.kolek@imgtec.com> |
[mips][microMIPS] This patch implements functionality in MIPS delay slot filler such as if delay slot filler have to put NOP instruction into the delay slot of microMIPS BEQ or BNE instruction which
[mips][microMIPS] This patch implements functionality in MIPS delay slot filler such as if delay slot filler have to put NOP instruction into the delay slot of microMIPS BEQ or BNE instruction which uses the register $0, then instead of emitting NOP this instruction is replaced by the corresponding microMIPS compact branch instruction, i.e. BEQZC or BNEZC.
Differential Revision: http://reviews.llvm.org/D3566
llvm-svn: 222580
show more ...
|
#
70573dcd |
| 19-Nov-2014 |
David Blaikie <dblaikie@gmail.com> |
Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool>
This is to be consistent with StringSet and ultimately with the standard library's associative container inse
Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool>
This is to be consistent with StringSet and ultimately with the standard library's associative container insert function.
This lead to updating SmallSet::insert to return pair<iterator, bool>, and then to update SmallPtrSet::insert to return pair<iterator, bool>, and then to update all the existing users of those functions...
llvm-svn: 222334
show more ...
|
#
37bca101 |
| 10-Nov-2014 |
Zoran Jovanovic <zoran.jovanovic@imgtec.com> |
[mips][microMIPS] Fix issue with delay slot filler and microMIPS Differential Revision: http://reviews.llvm.org/D6193
llvm-svn: 221612
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2 |
|
#
d913448b |
| 04-Aug-2014 |
Eric Christopher <echristo@gmail.com> |
Remove the TargetMachine forwards for TargetSubtargetInfo based information and update all callers. No functional change.
llvm-svn: 214781
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
308181ea |
| 12-Jun-2014 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][mips64r6] Replace m[tf]hi, m[tf]lo, mult, multu, dmult, dmultu, div, ddiv, divu, ddivu for MIPS32r6/MIPS64.
Summary: The accumulator-based (HI/LO) multiplies and divides from earlier ISA's ha
[mips][mips64r6] Replace m[tf]hi, m[tf]lo, mult, multu, dmult, dmultu, div, ddiv, divu, ddivu for MIPS32r6/MIPS64.
Summary: The accumulator-based (HI/LO) multiplies and divides from earlier ISA's have been removed and replaced with GPR-based equivalents. For example: div $1, $2 mflo $3 is now: div $3, $1, $2
This patch disables the accumulator-based multiplies and divides for MIPS32r6/MIPS64r6 and uses the GPR-based equivalents instead.
Renamed expandPseudoDiv to insertDivByZeroTrap to better describe the behaviour of the function.
MipsDelaySlotFiller now invalidates the liveness information when moving instructions to the delay slot. Without this, divrem.ll will abort since %GP ends up used before it is defined.
Reviewers: vmedic, zoran.jovanovic, jkolek
Reviewed By: jkolek
Differential Revision: http://reviews.llvm.org/D3896
llvm-svn: 210760
show more ...
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1 |
|
#
56c590af |
| 29-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides th
[C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition
llvm-svn: 207506
show more ...
|
Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
062a2bae |
| 25-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++] Use 'nullptr'. Target edition.
llvm-svn: 207197
|
#
84e68b29 |
| 22-Apr-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Fix potential ODR violations by sinking the DEBUG_TYPE definition below all of the header #include lines, lib/Target/... edition.
llvm-svn: 206842
|
#
d2da720e |
| 21-Apr-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
[C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API.
No functionality change.
llvm-svn: 206740
|
#
aad475b3 |
| 15-Apr-2014 |
Nick Lewycky <nicholas@mxc.ca> |
Break PseudoSourceValue out of the Value hierarchy. It is now the root of its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't).
Break PseudoSourceValue out of the Value hierarchy. It is now the root of its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't). Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead.
llvm-svn: 206255
show more ...
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
5fddf610 |
| 10-Mar-2014 |
Sasa Stankovic <Sasa.Stankovic@imgtec.com> |
[mips] Implement NaCl sandboxing of loads, stores and SP changes:
* Add masking instructions before loads and stores (in MC layer). * Add masking instructions after SP changes (in MC layer). *
[mips] Implement NaCl sandboxing of loads, stores and SP changes:
* Add masking instructions before loads and stores (in MC layer). * Add masking instructions after SP changes (in MC layer). * Forbid loads, stores and SP changes in delay slots (in MI layer).
Differential Revision: http://llvm-reviews.chandlerc.com/D2904
llvm-svn: 203484
show more ...
|
#
b1f25f1b |
| 07-Mar-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Replace PROLOG_LABEL with a new CFI_INSTRUCTION.
The old system was fairly convoluted: * A temporary label was created. * A single PROLOG_LABEL was created with it. * A few MCCFIInstructions were cr
Replace PROLOG_LABEL with a new CFI_INSTRUCTION.
The old system was fairly convoluted: * A temporary label was created. * A single PROLOG_LABEL was created with it. * A few MCCFIInstructions were created with the same label.
The semantics were that the cfi instructions were mapped to the PROLOG_LABEL via the temporary label. The output position was that of the PROLOG_LABEL. The temporary label itself was used only for doing the mapping.
The new CFI_INSTRUCTION has a 1:1 mapping to MCCFIInstructions and points to one by holding an index into the CFI instructions of this function.
I did consider removing MMI.getFrameInstructions completelly and having CFI_INSTRUCTION own a MCCFIInstruction, but MCCFIInstructions have non trivial constructors and destructors and are somewhat big, so the this setup is probably better.
The net result is that we don't create temporary labels that are never used.
llvm-svn: 203204
show more ...
|
#
b6d0bd48 |
| 02-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
[C++11] Replace llvm::next and llvm::prior with std::next and std::prev.
Remove the old functions.
llvm-svn: 202636
|
#
3a377bce |
| 01-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
Now that we have C++11, turn simple functors into lambdas and remove a ton of boilerplate.
No intended functionality change.
llvm-svn: 202588
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
4c0a7122 |
| 07-Oct-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Coding style clean up.
llvm-svn: 192125
|
#
af4211ad |
| 28-Sep-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out of loops.
Previously, two consecutive calls to function "func" would result in the following sequence of instructions
[mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out of loops.
Previously, two consecutive calls to function "func" would result in the following sequence of instructions:
1. load $16, %got(func)($gp) // load address of lazy-binding stub. 2. move $25, $16 3. jalr $25 // jump to lazy-binding stub. 4. nop 5. move $25, $16 6. jalr $25 // jump to lazy-binding stub again.
With this patch, the second call directly jumps to func's address, bypassing the lazy-binding resolution routine:
1. load $25, %got(func)($gp) // load address of lazy-binding stub. 2. jalr $25 // jump to lazy-binding stub. 3. nop 4. load $25, %got(func)($gp) // load resolved address of func. 5. jalr $25 // directly jump to func.
llvm-svn: 191591
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
31ee5866 |
| 03-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.
llvm-svn: 185540
|
Revision tags: llvmorg-3.3.0 |
|
#
ead89ef6 |
| 07-Jun-2013 |
Bill Wendling <isanbard@gmail.com> |
Don't cache the instruction and register info from the TargetMachine, because the internals of TargetMachine could change.
llvm-svn: 183493
|
Revision tags: llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
1ff803f4 |
| 25-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
Fix comment.
llvm-svn: 177899
|
#
e9e588dd |
| 01-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Remove unused option. Fix 80-column violations.
llvm-svn: 176330
|
#
8f7bfb39 |
| 01-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Add the capability to search delay slot filling instructions in successor basic blocks.
Currently this is off by default.
llvm-svn: 176329
|
#
e44e30ca |
| 01-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Add options to disable searching backward and in successor blocks.
llvm-svn: 176321
|
#
e01ff9dc |
| 01-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Add capability to search in the forward direction for instructions that can fill the delay slot.
Currently, this is off by default.
llvm-svn: 176320
|
#
f815db5b |
| 01-Mar-2013 |
Akira Hatanaka <ahatanaka@mips.com> |
[mips] Define helper function searchRange
No functionality change.
llvm-svn: 176318
|