| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
isReg, etc., from isRegister, etc.
llvm-svn: 57006
|
|
|
|
| |
llvm-svn: 56748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm-gcc:
/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
|
|
|
|
|
|
| |
disabled when frame address is desired. Also add support for depth > 0.
llvm-svn: 56683
|
|
|
|
|
|
| |
instruction. X86, PowerPC and ARM are implemented
llvm-svn: 49809
|
|
|
|
| |
llvm-svn: 48995
|
|
|
|
| |
llvm-svn: 47657
|
|
|
|
| |
llvm-svn: 47369
|
|
|
|
| |
llvm-svn: 46930
|
|
|
|
| |
llvm-svn: 45871
|
|
|
|
|
|
|
| |
Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
llvm-svn: 45695
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around. Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
llvm-svn: 45674
|
|
|
|
|
|
| |
Some day I'll get it all moved over...
llvm-svn: 45672
|
|
|
|
| |
llvm-svn: 45667
|
|
|
|
| |
llvm-svn: 45656
|
|
|
|
| |
llvm-svn: 45603
|
|
|
|
| |
llvm-svn: 45484
|
|
|
|
|
|
| |
Machine-level API cleanup instigated by Chris.
llvm-svn: 45470
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that "machine" classes are used to represent the current state of
the code being compiled. Given this expanded name, we can start
moving other stuff into it. For now, move the UsedPhysRegs and
LiveIn/LoveOuts vectors from MachineFunction into it.
Update all the clients to match.
This also reduces some needless #includes, such as MachineModuleInfo
from MachineFunction.
llvm-svn: 45467
|
|
|
|
|
|
|
|
|
|
|
|
| |
e.g. MO.isMBB() instead of MO.isMachineBasicBlock(). I don't plan on
switching everything over, so new clients should just start using the
shorter names.
Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(),
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.
llvm-svn: 45464
|
|
|
|
|
|
| |
Likewise setImmedValue -> setImm
llvm-svn: 45453
|
|
|
|
| |
llvm-svn: 45437
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 44694
|
|
|
|
| |
llvm-svn: 44692
|
|
|
|
|
|
| |
the stored register is killed.
llvm-svn: 44600
|
|
|
|
| |
llvm-svn: 44517
|
|
|
|
|
|
|
|
| |
to use different mappings for EH and debug info;
no functional change yet.
Fix warning in X86CodeEmitter.
llvm-svn: 44056
|
|
|
|
|
|
|
|
|
|
|
| |
adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in
the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If
not, then there is the potential for the stack to be changed while the stack's
being used by another instruction (like a call).
This can only result in tears...
llvm-svn: 44037
|
|
|
|
|
|
|
|
| |
This makes DwarfRegNum to accept list of numbers instead.
Added three different "flavours", but only slightly tested on x86-32/linux.
Please check another subtargets if possible,
llvm-svn: 43997
|
|
|
|
|
|
|
|
| |
only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs.
llvm-svn: 43153
|
|
|
|
|
|
| |
public interface.
llvm-svn: 43150
|
|
|
|
|
|
|
|
| |
address (not just from / to frameindexes).
- Added target hooks to unfold load / store instructions / SDNodes into separate
load, data processing, store instructions / SDNodes.
llvm-svn: 42621
|
|
|
|
|
|
| |
Tested with "make check"!
llvm-svn: 42346
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
InOperandList. This gives one piece of important information: # of results
produced by an instruction.
An example of the change:
def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
=>
def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
llvm-svn: 40033
|
|
|
|
| |
llvm-svn: 40030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fills the last necessary bits to enable exceptions
handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which
represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be
more or less workable. However, exceptions handling support should not be
thought as 'finished': I expect many small and not so small glitches
everywhere.
llvm-svn: 39855
|
|
|
|
|
|
| |
the 's' bit.
llvm-svn: 38501
|
|
|
|
| |
llvm-svn: 37894
|
|
|
|
| |
llvm-svn: 37342
|
|
|
|
| |
llvm-svn: 37066
|
|
|
|
| |
llvm-svn: 36916
|
|
|
|
|
|
| |
Don't spill extra register to align the stack.
llvm-svn: 36814
|
|
|
|
|
|
| |
Patch by Raul Herbster.
llvm-svn: 36690
|
|
|
|
| |
llvm-svn: 36626
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument space for call sites in the function immediately on entry to the
current function. This eliminates the need for add/sub sp brackets around call
sites. However, this is not always a good idea. If the "call frame" is large and
the target load / store instructions have small immediate field to encode sp
offset, this can cause poor codegen. In the worst case, this can make it
impossible to scavenge a register if the reserved spill slot is pushed too far
apart from sp / fp.
llvm-svn: 36607
|
|
|
|
| |
llvm-svn: 36514
|
|
|
|
| |
llvm-svn: 36512
|
|
|
|
| |
llvm-svn: 36452
|
|
|
|
|
|
| |
Reported by Raul Herbster.
llvm-svn: 36262
|