- May 19, 2012
-
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 157093
-
- May 18, 2012
-
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 157057
-
- May 17, 2012
-
-
Akira Hatanaka authored
llc to recognize MIPS16 as a MIPS ASE extension. -mips16 will mean the mips16 ASE for mips32 by default. As part of fixing of adding this we discovered some small changes that need to be made to MipsInstrInfo::storeRegToStackSLot and MipsInstrInfo::loadRegFromStackSlot. We were using some "==" equality tests where in fact we should have been using Mips::<regclas>.hasSubClassEQ instead, per suggestion of Jakob Stoklund Olesen. Patch by Reed Kotler. llvm-svn: 156958
-
- May 15, 2012
-
-
Jim Grosbach authored
Add the MCRegisterInfo to the factories and constructors. Patch by Tom Stellard <Tom.Stellard@amd.com>. llvm-svn: 156828
-
Akira Hatanaka authored
resolved. llvm-svn: 156801
-
Akira Hatanaka authored
The purpose of this option is to silence error messages issued by machine verifier passes and enable them to run to the end. If this option is not provided, -verify-machineinstrs complains when it discovers there is a non-terminator instruction (an instruction that is in a delay slot) after the first terminator in a basic block. llvm-svn: 156790
-
- May 12, 2012
-
-
Akira Hatanaka authored
llvm-svn: 156696
-
Akira Hatanaka authored
the ones that get or set the frame index for the $gp save slot. Remove the piece of code in MipsFunctionInfo::getGlobalBaseReg() which returns GP. This function should always return a virtual register. llvm-svn: 156695
-
Akira Hatanaka authored
is the $gp save slot. llvm-svn: 156694
-
Akira Hatanaka authored
llvm-svn: 156693
-
Akira Hatanaka authored
- Stop creating stack frame objects needed for saving $gp. - Insert a node that copies the global pointer register to register $gp before the call node. This will ensure $gp is valid at the entry of the called function. llvm-svn: 156692
-
Akira Hatanaka authored
- Stop emitting instructions needed to initialize the global pointer register. - Stop emitting .cprestore directive. - Do not take into account the $gp save slot when computing stack size. llvm-svn: 156691
-
Akira Hatanaka authored
- Remove code which lowers pseudo SETGP01. - Fix LowerSETGP01. The first two of the three instructions that are emitted to initialize the global pointer register now use register $2. - Stop emitting .cpload directive. llvm-svn: 156689
-
Akira Hatanaka authored
pointer register. This is the first of the series of patches which clean up the way global pointer register is used. The patches will make the following improvements: - Make $gp an allocatable temporary register rather than reserving it. - Use a virtual register as the global pointer register and let the register allocator decide which register to assign to it or whether spill/reloads are needed. - Make sure $gp is valid at the entry of a called function, which is necessary for functions using lazy binding. - Remove the need for emitting .cprestore and .cpload directives. llvm-svn: 156671
-
Akira Hatanaka authored
llvm-svn: 156663
-
- May 11, 2012
-
-
Akira Hatanaka authored
llvm-svn: 156603
-
- May 10, 2012
-
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156577
-
- May 09, 2012
-
-
Akira Hatanaka authored
llvm-svn: 156460
-
Akira Hatanaka authored
allocas. llvm-svn: 156458
-
Akira Hatanaka authored
llvm-svn: 156457
-
- May 08, 2012
-
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 156408
-
- May 07, 2012
-
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156295
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156294
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156293
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156292
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156285
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156284
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156283
-
Eric Christopher authored
llvm-svn: 156282
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156280
-
Eric Christopher authored
from the previous 2 patches. Patch by Jack Carter. llvm-svn: 156279
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156278
-
Eric Christopher authored
non-floating point general registers allow 8 and 16-bit elements. Patch by Jack Carter. llvm-svn: 156277
-
- May 04, 2012
-
-
Hans Wennborg authored
This moves the logic for selecting a TLS model to a single place, instead of the previous three (ARM, Mips, and X86 which already uses this function). llvm-svn: 156162
-
Jakob Stoklund Olesen authored
This information in now computed by TableGen. llvm-svn: 156152
-
- May 01, 2012
-
-
Benjamin Kramer authored
llvm-svn: 155915
-
Bill Wendling authored
The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 llvm-svn: 155902
-
- Apr 25, 2012
-
-
Akira Hatanaka authored
llvm-svn: 155522
-
- Apr 23, 2012
-
-
Preston Gurd authored
on X86 Atom. Some of our tests failed because the tail merging part of the BranchFolding pass was creating new basic blocks which did not contain live-in information. When the anti-dependency code in the Post-RA scheduler ran, it would sometimes rename the register containing the function return value because the fact that the return value was live-in to the subsequent block had been lost. To fix this, it is necessary to run the RegisterScavenging code in the BranchFolding pass. This patch makes sure that the register scavenging code is invoked in the X86 subtarget only when post-RA scheduling is being done. Post RA scheduling in the X86 subtarget is only done for Atom. This patch adds a new function to the TargetRegisterClass to control whether or not live-ins should be preserved during branch folding. This is necessary in order for the anti-dependency optimizations done during the PostRASchedulerList pass to work properly when doing Post-RA scheduling for the X86 in general and for the Intel Atom in particular. The patch adds and invokes the new function trackLivenessAfterRegAlloc() instead of using the existing requiresRegisterScavenging(). It changes BranchFolding.cpp to call trackLivenessAfterRegAlloc() instead of requiresRegisterScavenging(). It changes the all the targets that implemented requiresRegisterScavenging() to also implement trackLivenessAfterRegAlloc(). It adds an assertion in the Post RA scheduler to make sure that post RA liveness information is available when it is needed. It changes the X86 break-anti-dependencies test to use –mcpu=atom, in order to avoid running into the added assertion. Finally, this patch restores the use of anti-dependency checking (which was turned off temporarily for the 3.1 release) for Intel Atom in the Post RA scheduler. Patch by Andy Zhang! Thanks to Jakob and Anton for their reviews. llvm-svn: 155395
-
- Apr 22, 2012
-
-
Bill Wendling authored
llvm-svn: 155307
-