- Sep 18, 2009
-
-
Evan Cheng authored
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273
-
Shantonu Sen authored
causes the "../foo" to not find the file llvm-svn: 82270
-
Chris Lattner authored
getSymbolForDwarfGlobalReference is smart enough to know that it needs to register the stub it references with MachineModuleInfoMachO, so that it gets emitted at the end of the file. Move stub emission from X86ATTAsmPrinter::doFinalization to the new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important thing here is that EmitEndOfAsmFile is called *after* the ehframes are emitted, so we get all the stubs. This allows us to remove a gross hack from the asmprinter where it would "just know" that it needed to output stubs for personality functions. Now this is all driven from a consistent interface. The testcase change is just reordering the expected output now that the stubs come out after the ehframe instead of before. This also unblocks other changes that Bill wants to make. llvm-svn: 82269
-
Dale Johannesen authored
move a SUBFC (etc.) below the SUBFE (etc.) that consumed the carry bit. Add missing ADDIC8, noticed along the way. llvm-svn: 82266
-
Dan Gohman authored
on x86, to avoid explicit test instructions. A few existing tests changed due to arbitrary register allocation differences. llvm-svn: 82263
-
Sean Callanan authored
carry bit) instructions to the Intel instruction tables. llvm-svn: 82260
-
Chris Lattner authored
llvm-svn: 82235
-
Anton Korobeynikov authored
variables to specified absolute address. Make use of this feature for MSP430. This unbreaks PR4776. llvm-svn: 82227
-
- Sep 17, 2009
-
-
Chris Lattner authored
currently unused. llvm-svn: 82157
-
Sean Callanan authored
as part string parsing) instructions to the Intel instruction tables. llvm-svn: 82089
-
- Sep 16, 2009
-
-
Sean Callanan authored
instructions to the Intel instruction tables. llvm-svn: 82084
-
Sean Callanan authored
instruction tables. llvm-svn: 82083
-
Sean Callanan authored
to the Intel instruction tables. llvm-svn: 82081
-
Bob Wilson authored
llvm-svn: 82074
-
Kevin Enderby authored
llvm-svn: 82054
-
Chris Lattner authored
and use MachineModuleInfoMachO instead. llvm-svn: 82022
-
Chris Lattner authored
llvm-svn: 82020
-
Chris Lattner authored
stuff common across all macho targets. llvm-svn: 82018
-
Chris Lattner authored
llvm-svn: 82011
-
Chris Lattner authored
the global variable list only happen for COFF targets. llvm-svn: 82010
-
Chris Lattner authored
we have MCInstPrinter. llvm-svn: 82006
-
Shantonu Sen authored
llvm-svn: 81999
-
Nate Begeman authored
trying to create RMW opportunities in the x86 backend. This can cause a cycle to appear in the graph, since the other uses may eventually feed into the TokenFactor we are sinking the load below. llvm-svn: 81996
-
Sean Callanan authored
frame, to the Intel instruction tables. llvm-svn: 81995
-
Sean Callanan authored
the Intel instruction tables. The patterns will stay blank because ADD reg, reg is faster, but having the encoding available is useful for the disassembler. llvm-svn: 81994
-
Sean Callanan authored
covered by other definitions. llvm-svn: 81992
-
Chris Lattner authored
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); llvm-svn: 81991
-
Sean Callanan authored
All of these do not have patterns (they're for the disassembler). Many of the floating-point instructions will probably be rolled into definitions that have patterns, and may eventually be superseded by mdefs. So I put them together and left a comment. llvm-svn: 81979
-
Bob Wilson authored
llvm-svn: 81969
-
Bob Wilson authored
llvm-svn: 81966
-
Chris Lattner authored
and use PersonalityPrefix/Suffix to achieve the same effect (like the x86 backend). This changes the code generated for ppc static mode, but guess what, we were generating this before: .byte 0x9B ; Personality (indirect pcrel sdata4) .long ___gxx_personality_v0-. ; Personality which is not correct! (it is not an 'indirect' reference). llvm-svn: 81965
-
Bob Wilson authored
Radar 7200803. (This should also fix the SingleSource/UnitTests/Vector/sumarray-dbl test.) llvm-svn: 81959
-
Sean Callanan authored
code in other segments) to the Intel instruction tables. llvm-svn: 81953
-
- Sep 15, 2009
-
-
Sean Callanan authored
llvm-svn: 81923
-
Sean Callanan authored
Intel tables, where the source operand is specified by the R/M field and the destination operand by the Reg field. llvm-svn: 81914
-
Sean Callanan authored
to the Intel register table. Added 16- and 64-bit MOVs to and from the segment registers to the Intel instruction tables. llvm-svn: 81895
-
Dale Johannesen authored
interrupt instruction, which shouldn't arise any other way). 0xcd is also used by JITMemoryManager to initialize the buffer to garbage, which means it could appear following a noreturn call even when that is not a stub, confusing X86CompilationCallback2. PR 4929. llvm-svn: 81888
-
Chris Lattner authored
values to machineinstrs. llvm-svn: 81886
-
Chris Lattner authored
llvm-svn: 81881
-
Bob Wilson authored
VLDM/VSTM instructions, and without this check, the code assumes that an offset is allowed, as it would be with VLDR/VSTR. The asm printer, however, silently drops the offset, producing incorrect code. Since the address register in this case is either the stack or frame pointer, the spill location ends up conflicting with some other stack slot or with outgoing arguments on the stack. llvm-svn: 81879
-