- Jul 08, 2008
-
-
Dan Gohman authored
and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. llvm-svn: 53211
-
Dan Gohman authored
for handling bookkeeping for deleted objects, as well as the alist class template, for keeping lists of objects allocated from Recyclers, and some related utilities. llvm-svn: 53210
-
Evan Cheng authored
llvm-svn: 53209
-
Evan Cheng authored
ATT asm printer just print register AsmName's instead of calling tolower on each charater of Name. This speeds it up by 10%. llvm-svn: 53208
-
Evan Cheng authored
TargetRegisterDesc::Name field is the same as the abstract register name. There is no need for targets to specify register names in addition to their AsmName's. llvm-svn: 53207
-
- Jul 07, 2008
-
-
Bill Wendling authored
llvm-svn: 53206
-
Bill Wendling authored
llvm-svn: 53202
-
Dan Gohman authored
properly track dead nodes that are on the original SDNode's operand list but not the new one, and have no other uses. llvm-svn: 53201
-
Dan Gohman authored
#include dependency on Support/MathExtras.h in the header file. llvm-svn: 53200
-
Dan Gohman authored
pool-allocating MachineInstrs. llvm-svn: 53198
-
Dan Gohman authored
llvm-svn: 53197
-
Dan Gohman authored
llvm-svn: 53196
-
Dan Gohman authored
their cleanup code. llvm-svn: 53194
-
Evan Cheng authored
1. LSR runOnLoop is always returning false regardless if any transformation is made. 2. AddUsersIfInteresting can create new instructions that are added to DeadInsts. But there is a later early exit which prevents them from being freed. llvm-svn: 53193
-
Bruno Cardoso Lopes authored
llvm-svn: 53192
-
Dan Gohman authored
simple const SDOperand*, which is what's usually needed. For AddNodeIDOperands, which is small, just duplicate the function to accept an SDUse*. For SelectionDAG::getNode - Add an overload that accepts SDUse* that copies the operands into a temporary SDOperand array, but also has special-case checks for 0 through 3 operands to avoid the copy in the common cases. llvm-svn: 53183
-
Dan Gohman authored
llvm-svn: 53179
-
Dan Gohman authored
llvm-svn: 53178
-
Dan Gohman authored
llvm-svn: 53177
-
Evan Cheng authored
llvm-svn: 53169
-
Nick Lewycky authored
Comment the xor %x, -1 case. llvm-svn: 53167
-
Bill Wendling authored
llvm-svn: 53166
-
Duncan Sands authored
float value. llvm-svn: 53165
-
- Jul 06, 2008
-
-
Anton Korobeynikov authored
having weak or linkonce or common or extweak LLVM linkage. llvm-svn: 53158
-
Anton Korobeynikov authored
llvm-svn: 53156
-
Anton Korobeynikov authored
llvm-svn: 53154
-
- Jul 05, 2008
-
-
Nick Lewycky authored
llvm-svn: 53151
-
Mon P Wang authored
that fixed problems in EmitStackConvert where the source and target type have different alignment by creating a stack slot with the max alignment of source and target type. llvm-svn: 53150
-
Bruno Cardoso Lopes authored
important. - Cleanup in the Subtarget info with addition of new features, not all support yet, but they allow the future inclusion of features easier. Among new features, we have : Arch family info (mips1, mips2, ...), ABI info (o32, eabi), 64-bit integer and float registers, allegrex vector FPU (VFPU), single float only support. - TargetMachine now detects allegrex core. - Added allegrex (Mips32r2) sext_inreg instructions. - *Added Float Point Instructions*, handling single float only, and aliased accesses for 32-bit FPUs. - Some cleanup in FP instruction formats and FP register classes. - Calling conventions improved to support mips 32-bit EABI. - Added Asm Printer support for fp cond codes. - Added support for sret copy to a return register. - EABI support added into LowerCALL and FORMAL_ARGS. - MipsFunctionInfo now keeps a virtual register per function to track the sret on function entry until function ret. - MipsInstrInfo FP support into methods (isMoveInstr, isLoadFromStackSlot, ...), FP cond codes mapping and initial FP Branch Analysis. - Two new Mips SDNode to handle fp branch and compare instructions : FPBrcond, FPCmp - MipsTargetLowering : handling different FP classes, Allegrex support, sret return copy, no homing location within EABI, non 32-bit stack objects arguments, and asm constraint for float. llvm-svn: 53146
-
- Jul 04, 2008
-
-
Duncan Sands authored
hook for each way in which a result type can be legalized (promotion, expansion, softening etc), just use one: ReplaceNodeResults, which returns a node with exactly the same result types as the node passed to it, but presumably with a bunch of custom code behind the scenes. No change if the new LegalizeTypes infrastructure is not turned on. llvm-svn: 53137
-
Duncan Sands authored
moves in order to get correct debug info. Since I can't imagine how any target could possibly be any different, I've just stripped out the option: now all the world's like Darwin! llvm-svn: 53134
-
Bill Wendling authored
llvm-svn: 53123
-
Bill Wendling authored
slow the compiler down at -O0 some 30% or more. Ooops. llvm-svn: 53120
-
- Jul 03, 2008
-
-
Evan Cheng authored
llvm-svn: 53110
-
Evan Cheng authored
llvm-svn: 53109
-
Owen Anderson authored
Use information already present in the ValueTable to fast-fail when we know there won't be a value number match. This speeds up GVN on a case where there are very few redundancies by ~25%. llvm-svn: 53108
-
Devang Patel authored
Do not try to update dominator info while manipulating CFG. This code does not handle all cases and keeps invalid dom info around some cases, which misleads other passes down stream. Right now, dom info is recaluclated in the end if the loop is switched. llvm-svn: 53106
-
Owen Anderson authored
Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this. llvm-svn: 53104
-
Evan Cheng authored
- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list. llvm-svn: 53097
-
Matthijs Kooijman authored
llvm-svn: 53092
-