| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 163117
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to reserve space for the mandatory traceback fields,
though leaving them as zero is appropriate for now.
Although the ABI calls for these fields to be filled in fully, no
compiler on Linux currently does this, and GDB does not read these
fields. GDB uses the first word of zeroes during exception handling to
find the end of the function and the size field, allowing it to compute
the beginning of the function. DWARF information is used for everything
else. We need the extra 8 bytes of pad so the size field is found in
the right place.
As a comparison, GCC fills in a few of the fields -- language, number
of saved registers -- but ignores the rest. IBM's proprietary OSes do
make use of the full traceback table facility.
Patch by Bill Schmidt.
llvm-svn: 162854
|
| |
|
|
|
|
|
|
|
|
| |
traceback table on PowerPC64. This helps gdb handle exceptions. The other
mandatory fields are ignored by gdb and harder to implement so just add
there a FIXME.
Patch by Bill Schmidt. PR13641.
llvm-svn: 162778
|
| |
|
|
|
|
|
|
|
| |
Add subtargets for Freescale e500mc (32-bit) and e5500 (64-bit) to
the PowerPC backend.
Patch by Tobias von Koch.
llvm-svn: 162764
|
| |
|
|
|
|
| |
In collaboration with Adhemerval Zanella.
llvm-svn: 162562
|
| |
|
|
|
|
|
|
|
| |
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
up to r158925 were handled as processor specific. Making them
generic and putting tests for these modifiers in the CodeGen/Generic
directory caused a number of targets to fail.
This commit addresses that problem by having the targets call
the generic routine for generic modifiers that they don't currently
have explicit code for.
For now only generic print operands 'c' and 'n' are supported.vi
Affected files:
test/CodeGen/Generic/asm-large-immediate.ll
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/XCore/XCoreAsmPrinter.cpp
lib/Target/X86/X86AsmPrinter.cpp
lib/Target/Hexagon/HexagonAsmPrinter.cpp
lib/Target/CellSPU/SPUAsmPrinter.cpp
lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/MBlaze/MBlazeAsmPrinter.cpp
lib/Target/Mips/MipsAsmPrinter.cpp
MSP430 isn't represented because it did not even run with
the long existing 'c' modifier and it was not apparent what
needs to be done to get it inline asm ready.
Contributer: Jack Carter
llvm-svn: 159203
|
| |
|
|
|
|
|
|
|
|
|
| |
The PPC target feature gpul (IsGigaProcessor) was only used for one thing:
To enable the generation of the MFOCRF instruction. Furthermore, this
instruction is available on other PPC cores outside of the G5 line. This
feature now corresponds to the HasMFOCRF flag.
No functionality change.
llvm-svn: 158323
|
| |
|
|
|
|
| |
No functional change; these will be used by upcoming scheduler enhancements.
llvm-svn: 158313
|
| |
|
|
|
|
|
| |
This adds a full itinerary for IBM's PPC64 A2 embedded core. These
cores form the basis for the CPUs in the new IBM BG/Q supercomputer.
llvm-svn: 153842
|
| |
|
|
|
|
| |
some superfluous forward declarations.
llvm-svn: 152997
|
| |
|
|
| |
llvm-svn: 151639
|
| |
|
|
|
|
| |
MCize function entry label emission on PowerPC64 properly.
llvm-svn: 151547
|
| |
|
|
|
|
|
|
|
| |
Reverting this because it breaks static linking on ppc64. Specifically, it may be linkonce_odr functions that are the problem.
With this patch, if you link statically, calls to some functions end up calling their descriptor addresses instead
of calling to their entry points. This causes the execution to fail with SIGILL (b/c the descriptor address just
has some pointers, not code).
llvm-svn: 151433
|
| |
|
|
| |
llvm-svn: 151278
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The standard function epilog includes a .size directive, but ppc64 uses
an alternate local symbol to tag the actual start of each function.
Until recently, binutils accepted the .size directive as:
.size test1, .Ltmp0-test1
however, using this directive with recent binutils will result in the error:
.size expression for XXX does not evaluate to a constant
so we must use the label which actually tags the start of the function.
llvm-svn: 151200
|
| |
|
|
|
|
| |
MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878
|
| |
|
|
|
|
| |
other problems found with -verify-machineinstrs
llvm-svn: 146024
|
| |
|
|
|
|
| |
Kostylev. PR11437.
llvm-svn: 145553
|
| |
|
|
| |
llvm-svn: 144211
|
| |
|
|
| |
llvm-svn: 142170
|
| |
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
| |
|
|
|
|
| |
MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.
llvm-svn: 136027
|
| |
|
|
| |
llvm-svn: 135974
|
| |
|
|
| |
llvm-svn: 134525
|
| |
|
|
|
|
|
|
| |
VK_PPC_{HA,LO}16 into darwin and gas variants.
Darwin wants {ha,lo}16(symbol) while gnu as wants symbol@{ha,l}.
llvm-svn: 132802
|
| |
|
|
|
|
|
|
|
| |
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.
This is part of a work-in-progress.
llvm-svn: 127986
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
directly on the mac. This is very early, doesn't support relocations and
has a terrible hack to avoid .machine from being printed, but despite
that it generates an bitwise-identical-to-cctools .o file for stuff like
this:
define i32 @test() nounwind { ret i32 42 }
I don't plan to continue pushing this forward, but if anyone else was
interested in doing it, it should be really straight-forward.
llvm-svn: 119136
|
| |
|
|
|
|
|
| |
print DBG_VALUE instructions. This should unbreak the llvm-gcc-powerpc-darwin9
buildbot.
llvm-svn: 119132
|
| |
|
|
| |
llvm-svn: 119112
|
| |
|
|
|
|
| |
new instprinting logic is there.
llvm-svn: 119111
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only change in the output is:
1) we get a better comment on mfcr, we get:
mfcr r2 ; cr2
instead of:
mfcr r2 ; 32
2) we no longer emit $stub's on powerpc/leopard. The Leopard
linker autosynthesizes them.
llvm-svn: 119108
|
| |
|
|
| |
llvm-svn: 119104
|
| |
|
|
|
|
| |
lowering support for MovePCtoLR[8]. Down to 4 failures again.
llvm-svn: 119090
|
| |
|
|
|
|
|
| |
since it is trivial and will be shared between ppc and x86.
This substantially simplifies the X86 backend also.
llvm-svn: 119089
|
| |
|
|
|
|
|
|
| |
on the operand, required for .o file writing and fixing
the PowerPC/mult-alt-generic-powerpc64.ll failure with the new
instprinter.
llvm-svn: 119087
|
| |
|
|
|
|
| |
the aborting printSpecial() method. This gets us to 8 failures.
llvm-svn: 119084
|
| |
|
|
| |
llvm-svn: 119081
|
| |
|
|
| |
llvm-svn: 119074
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
add support for darwin vs aix syntax. We now can print instructions
like this:
add r3, r3, r4
blr
and (in aix mode):
add 3, 3, 4
blr
llvm-svn: 119062
|
| |
|
|
|
|
| |
instprinter when -enable-ppc-inst-printer is passed to llc.
llvm-svn: 119061
|
| |
|
|
| |
llvm-svn: 119059
|
| |
|
|
| |
llvm-svn: 119054
|
| |
|
|
| |
llvm-svn: 54887
|
| |
|
|
| |
llvm-svn: 54540
|
| |
|
|
| |
llvm-svn: 54539
|
| |
|
|
| |
llvm-svn: 54538
|
| |
|
|
| |
llvm-svn: 54537
|
| |
|
|
| |
llvm-svn: 54536
|
| |
|
|
| |
llvm-svn: 53365
|