- Nov 03, 2008
-
-
Dan Gohman authored
adding a TargetMachine member to the base TargetAsmInfo class instead. llvm-svn: 58624
-
- Oct 27, 2008
-
-
David Greene authored
Have TableGen emit setSubgraphColor calls under control of a -gen-debug flag. Then in a debugger developers can set breakpoints at these calls to see waht is about to be selected and what the resulting subgraph looks like. This really helps when debugging instruction selection. llvm-svn: 58278
-
- Oct 18, 2008
-
-
Dan Gohman authored
and add a TargetLowering hook for it to use to determine when this is legal (i.e. not in PIC mode, etc.) This allows instruction selection to emit folded constant offsets in more cases, such as the included testcase, eliminating the need for explicit arithmetic instructions. This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp that attempted to achieve the same effect, but wasn't as effective. Also, fix handling of offsets in GlobalAddressSDNodes in several places, including changing GlobalAddressSDNode's offset from int to int64_t. The Mips, Alpha, Sparc, and CellSPU targets appear to be unaware of GlobalAddress offsets currently, so set the hook to false on those targets. llvm-svn: 57748
-
- Oct 16, 2008
-
-
Dan Gohman authored
llvm-svn: 57649
-
Dan Gohman authored
llvm-svn: 57622
-
- Oct 14, 2008
-
-
Evan Cheng authored
llvm-svn: 57526
-
Dan Gohman authored
instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
-
- Oct 12, 2008
-
-
Chris Lattner authored
parameters instead of raw Constants. This prevents the constants from being selected by the isel pass, fixing PR2735. llvm-svn: 57385
-
- Oct 03, 2008
-
-
Dan Gohman authored
Instead, just create one, and make sure everything that needs it can access it. Previously most of the SelectionDAGISel subclasses all had their own TargetLowering object, which was redundant with the TargetLowering object in the TargetMachine subclasses, except on Sparc, where SparcTargetMachine didn't have a TargetLowering object. Change Sparc to work more like the other targets here. llvm-svn: 57016
-
Dan Gohman authored
isReg, etc., from isRegister, etc. llvm-svn: 57006
-
- Sep 29, 2008
-
-
Duncan Sands authored
instead of hasWeakLinkage in a bunch of optimization passes. llvm-svn: 56782
-
- Sep 27, 2008
-
-
Evan Cheng authored
llvm-svn: 56748
-
Bill Wendling authored
/Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.obj/./gcc/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Gir/devel/llvm/clean/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -mmacosx-version-min=10.4 -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Gir/devel/llvm/clean/llvm.obj/include -I/Volumes/Gir/devel/llvm/clean/llvm.src/include -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c ../../llvm-gcc.src/gcc/unwind-dw2-fde-darwin.c -o libgcc/./unwind-dw2-fde-darwin.o Assertion failed: (TargetRegisterInfo::isVirtualRegister(regA) && TargetRegisterInfo::isVirtualRegister(regB) && "cannot update physical register live information"), function runOnMachineFunction, file /Volumes/Gir/devel/llvm/clean/llvm.src/lib/CodeGen/TwoAddressInstructionPass.cpp, line 311. ../../llvm-gcc.src/gcc/unwind-dw2.c:1527: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. {standard input}:3521:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb" {standard input}:3521:symbol: "_dwarf_reg_size_table" can't be undefined in a subtraction expression {standard input}:3520:non-relocatable subtraction expression, "_dwarf_reg_size_table" minus "L20$pb" ... llvm-svn: 56703
-
- Sep 26, 2008
-
-
Evan Cheng authored
Fix @llvm.frameaddress codegen. FP elimination optimization should be disabled when frame address is desired. Also add support for depth > 0. llvm-svn: 56683
-
Oscar Fuentes authored
llvm-svn: 56641
-
- Sep 25, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 56582
-
Anton Korobeynikov authored
llvm-svn: 56580
-
Anton Korobeynikov authored
llvm-svn: 56573
-
Anton Korobeynikov authored
llvm-svn: 56572
-
- Sep 23, 2008
-
-
Dan Gohman authored
instruction opcodes are now numbered. No functionality change. llvm-svn: 56497
-
Matthijs Kooijman authored
llvm-svn: 56486
-
- Sep 16, 2008
-
-
Bill Wendling authored
Apologies for the thrashing. llvm-svn: 56251
-
Bill Wendling authored
- Add linkage to SymbolSDNode (default to external). - Change ISD::ExternalSymbol to ISD::Symbol. - Change ISD::TargetExternalSymbol to ISD::TargetSymbol These changes pave the way to allowing SymbolSDNodes with non-external linkage. llvm-svn: 56249
-
- Sep 15, 2008
-
-
Bruno Cardoso Lopes authored
http://llvm.org/bugs/show_bug.cgi?id=2751 Abicall was enabled even when static code model was provided in the command line. The correct behavior is to disable abicall when static is specified. llvm-svn: 56228
-
- Sep 13, 2008
-
-
Dan Gohman authored
Currently it just holds the calling convention and flags for isVarArgs and isTailCall. And it has several utility methods, which eliminate magic 5+2*i and similar index computations in several places. CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle nodes that are not CSE'd gracefully. llvm-svn: 56183
-
- Sep 12, 2008
-
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 28, 2008
-
-
Gabor Greif authored
llvm-svn: 55504
-
- Aug 27, 2008
-
-
Gabor Greif authored
llvm-svn: 55394
-
- Aug 26, 2008
-
-
Owen Anderson authored
was inserted or not. This allows bitcast in fast isel to properly handle the case where an appropriate reg-to-reg copy is not available. llvm-svn: 55375
-
- Aug 23, 2008
-
-
Dan Gohman authored
process up to a higher level. This allows FastISel to leverage more of SelectionDAGISel's infastructure, such as updating Machine PHI nodes. Also, implement transitioning from SDISel back to FastISel in the middle of a block, so it's now possible to go back and forth. This allows FastISel to hand individual CallInsts and other complicated things off to SDISel to handle, while handling the rest of the block itself. To help support this, reorganize the SelectionDAG class so that it is allocated once and reused throughout a function, instead of being completely reallocated for each block. llvm-svn: 55219
-
- Aug 22, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 55203
-
- Aug 21, 2008
-
-
Dan Gohman authored
from all targets. llvm-svn: 55124
-
Owen Anderson authored
llvm-svn: 55092
-
- Aug 15, 2008
-
-
Owen Anderson authored
Convert uses of std::vector in TargetInstrInfo to SmallVector. This change had to be propoagated down into all the targets and up into all clients of this API. llvm-svn: 54802
-
- Aug 13, 2008
-
-
Bruno Cardoso Lopes authored
is lowered properly and covers everything LowerSELECT_CC did. Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This avoid the ugly instruction by instruction checking in printOperand. Added a swap instruction present in the allegrex core. Added two conditional instructions present in the allegrex core : MOVZ and MOVN. They both allow a more efficient SELECT operation for integers. Also added SELECT patterns to optimize MOVZ and MOVN usage. The brcond and setcc patterns were cleaned: redundant and suboptimal patterns were removed. The suboptimals were replaced by more efficient ones. Fixed some instructions that were using immZExt16 instead of immSExt16. llvm-svn: 54724
-
- Aug 08, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 54540
-
Evan Cheng authored
llvm-svn: 54534
-
Evan Cheng authored
It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relative constantpool. llvm-svn: 54519
-
Bruno Cardoso Lopes authored
llvm-svn: 54516
-