- Jul 07, 2008
-
-
Bruno Cardoso Lopes authored
llvm-svn: 53192
-
Dan Gohman authored
llvm-svn: 53179
-
Dan Gohman authored
llvm-svn: 53177
-
- Jul 05, 2008
-
-
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
-
- Jul 03, 2008
-
-
Evan Cheng authored
llvm-svn: 53109
-
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
-
Anton Korobeynikov authored
processed separately. Honour such situation and emit PIC relocations properly in such case. llvm-svn: 53091
-
Evan Cheng authored
llvm-svn: 53060
-
Owen Anderson authored
Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction Also, if LV isn't around, then TwoAddr doesn't need to be updating flags, since they won't have been set in the first place. llvm-svn: 53058
-
- Jul 02, 2008
-
-
Duncan Sands authored
to be passed the list of value types, and use this where appropriate. Inappropriate places are where the value type list is already known and may be long, in which case the existing method is more efficient. llvm-svn: 53035
-
Bill Wendling authored
debug information is being output, because it's leet! llvm-svn: 52994
-
Evan Cheng authored
llvm-svn: 52992
-
- Jul 01, 2008
-
-
Bill Wendling authored
llvm-svn: 52980
-
Dan Gohman authored
llvm-svn: 52976
-
Evan Cheng authored
llvm-svn: 52971
-
Owen Anderson authored
and mark it const along with the associated changes to TargetRegisterInfo. llvm-svn: 52966
-
Duncan Sands authored
being suppressed here. llvm-svn: 52952
-
Owen Anderson authored
version that is computed by tblgen at the time LLVM is compiled. llvm-svn: 52945
-
Dan Gohman authored
the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. llvm-svn: 52943
-
Dan Gohman authored
llvm-svn: 52932
-
Dan Gohman authored
llvm-svn: 52929
-
- Jun 30, 2008
-
-
Dan Gohman authored
llvm-svn: 52925
-
Dan Gohman authored
purpose, and give it a custom SDNode subclass so that it doesn't need to have line number, column number, filename string, and directory string, all existing as individual SDNodes to be the operands. This was the only user of ISD::STRING, StringSDNode, etc., so remove those and some associated code. This makes stop-points considerably easier to read in -view-legalize-dags output, and reduces overhead (creating new nodes and copying std::strings into them) on code containing debugging information. llvm-svn: 52924
-
Evan Cheng authored
llvm-svn: 52923
-
Dan Gohman authored
SmallVectors. Change the signature of TargetLowering::LowerArguments to avoid returning a vector by value, and update the two targets which still use this directly, Sparc and IA64, accordingly. llvm-svn: 52917
-
Duncan Sands authored
it impossible to create a MERGE_VALUES node with only one result: sometimes it is useful to be able to create a node with only one result out of one of the results of a node with more than one result, for example because the new node will eventually be used to replace a one-result node using ReplaceAllUsesWith, cf X86TargetLowering::ExpandFP_TO_SINT. On the other hand, most users of MERGE_VALUES don't need this and for them the optimization was valuable. So add a new utility method getMergeValues for creating MERGE_VALUES nodes which by default performs the optimization. Change almost everywhere to use getMergeValues (and tidy some stuff up at the same time). llvm-svn: 52893
-
- Jun 28, 2008
-
-
Anton Korobeynikov authored
Start refactoring of asmprinters: provide a TAI hook, which will select a 'section kind' for a global. llvm-svn: 52868
-
Anton Korobeynikov authored
llvm-svn: 52866
-
Anton Korobeynikov authored
llvm-svn: 52865
-
Anton Korobeynikov authored
llvm-svn: 52864
-
Anton Korobeynikov authored
llvm-svn: 52863
-
Anton Korobeynikov authored
llvm-svn: 52862
-
Anton Korobeynikov authored
llvm-svn: 52861
-
Anton Korobeynikov authored
llvm-svn: 52860
-
Anton Korobeynikov authored
llvm-svn: 52859
-
Anton Korobeynikov authored
Make intel asmprinter child of generic asmprinter, not x86 shared asm printer. This leads to some code duplication, which will be resolved later. llvm-svn: 52858
-
Anton Korobeynikov authored
llvm-svn: 52857
-
Anton Korobeynikov authored
llvm-svn: 52856
-