| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
arguments as before), unset CR1EQ otherwise.
llvm-svn: 138802
|
| |
|
|
|
|
| |
enough to fix properly.
llvm-svn: 138751
|
| |
|
|
|
|
|
|
| |
platform-independent code, since a bunch of platforms (ARM, Mips, PPC, Alpha are the relevant targets here) need to do essentially the same thing.
I think this completes the basic CodeGen for atomicrmw and cmpxchg.
llvm-svn: 136813
|
| |
|
|
|
|
| |
MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.
llvm-svn: 136027
|
| |
|
|
| |
llvm-svn: 135866
|
| |
|
|
| |
llvm-svn: 135375
|
| |
|
|
|
|
| |
is to use this for architectures that have a native FMA instruction.
llvm-svn: 134742
|
| |
|
|
|
|
| |
Noticed by Benjamin Kramer!
llvm-svn: 134376
|
| |
|
|
| |
llvm-svn: 134005
|
| |
|
|
| |
llvm-svn: 133260
|
| |
|
|
|
|
|
|
| |
doesn't appear to be dead.
Roman, since you're writing tests for other PPC-SVR4 vararg-related stuff, would you mind writing a test for this?
llvm-svn: 133018
|
| |
|
|
|
|
|
|
| |
No functional change.
Part of PR6965
llvm-svn: 132763
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Check for MTCTR8 in addition to MTCTR when looking up a hazard.
- When lowering an indirect call use CTR8 when targeting 64bit.
- Introduce BCTR8 that uses CTR8 and use it on 64bit when expanding ISD::BRIND.
The last change fixes PR8487. With those changes, we are able to compile a
running "ls" and "sh" on FreeBSD/PowerPC64.
llvm-svn: 132552
|
| |
|
|
|
|
| |
Part of rdar://9119939
llvm-svn: 132510
|
| |
|
|
| |
llvm-svn: 131627
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 131012
|
| |
|
|
|
|
| |
triple component.
llvm-svn: 129838
|
| |
|
|
| |
llvm-svn: 129810
|
| |
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
| |
|
|
|
|
|
| |
This causes defs to dominate uses, no instructions after terminators, and other
goodness.
llvm-svn: 128836
|
| |
|
|
|
|
| |
The 32-bit R0 cannot be used where a 64-bit register is expected.
llvm-svn: 128828
|
| |
|
|
|
|
| |
the type of the LHS.
llvm-svn: 126518
|
| |
|
|
|
|
|
|
|
|
|
| |
LiveIns."
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working.
- The debugger needs to be aware of prolog_end attribute attached with line table entries.
- The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
llvm-svn: 126155
|
| |
|
|
|
|
| |
other getNode() methods. Radar 9002173.
llvm-svn: 125665
|
| |
|
|
| |
llvm-svn: 124611
|
| |
|
|
| |
llvm-svn: 123707
|
| |
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
| |
|
|
|
|
|
| |
new gcc warning that complains on self-assignments and
self-initializations.
llvm-svn: 122458
|
| |
|
|
|
|
|
| |
something that just glues two nodes together, even if it is
sometimes used for flags.
llvm-svn: 122310
|
| |
|
|
| |
llvm-svn: 119990
|
| |
|
|
|
|
|
|
|
| |
different ways. Add $non_lazy_ptr support, and proper lowering for
global values.
Now all the ppc regression tests pass with the new instruction printer.
llvm-svn: 119106
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
nodes to indicate when ha16/lo16 modifiers should be used. This lets
us pass PowerPC/indirectbr.ll.
The one annoying thing about this patch is that the MCSymbolExpr isn't
expressive enough to represent ha16(label1-label2) which we need on
PowerPC. I have a terrible hack in the meantime, but this will have
to be revisited at some point.
Last major conversion item left is global variable references.
llvm-svn: 119105
|
| |
|
|
|
|
|
|
| |
and have isel apply to to call operands as required. This allows
us to get $stub suffixes on label references on ppc/tiger with the
new instprinter, fixing two tests. Only 2 to go.
llvm-svn: 119093
|
| |
|
|
|
|
|
| |
and as such can be represented by an MVT - the more complicated
EVT is not needed. Use MVT for ValVT everywhere.
llvm-svn: 118245
|
| |
|
|
|
|
|
|
|
|
| |
value type, so there is no point in passing it around using
an EVT. Use the simpler MVT everywhere. Rather than trying
to propagate this information maximally in all the code that
using the calling convention stuff, I chose to do a mainly
low impact change instead.
llvm-svn: 118167
|
| |
|
|
|
|
| |
basic logic, added initial platform support.
llvm-svn: 117667
|
| |
|
|
|
|
| |
(gcc-4.6 warns about these).
llvm-svn: 117021
|
| |
|
|
|
|
|
|
|
| |
virtual registers for those stores since RegAllocFast requires that each live
physreg only be used once.
This fixes PR8357.
llvm-svn: 116222
|
| |
|
|
|
|
|
|
|
| |
alignment for PPC32/64, avoiding some masking operations.
llvm-gcc expands vaarg inline instead of using the instruction
so it has never hit this.
llvm-svn: 116168
|
| |
|
|
| |
llvm-svn: 114461
|
| |
|
|
|
|
| |
MachinePointerInfo around more.
llvm-svn: 114452
|
| |
|
|
|
|
| |
SelectionDAG::getExtLoad overload, and eliminate it.
llvm-svn: 114446
|
| |
|
|
| |
llvm-svn: 114410
|
| |
|
|
|
|
|
| |
instead of srcvalue/offset pairs. This corrects SV info for mem
operations whose size is > 32-bits.
llvm-svn: 114401
|
| |
|
|
| |
llvm-svn: 114391
|
| |
|
|
|
|
|
|
|
| |
See PR5201. There is no way to know if direct calls will be within the allowed
range for BL. Hence emit all calls as indirect when in JIT mode.
Without this long-running applications will fail to JIT on PowerPC with a
relocation failure.
llvm-svn: 110246
|
| |
|
|
| |
llvm-svn: 109998
|
| |
|
|
|
|
| |
for consistency sake.
llvm-svn: 107820
|
| |
|
|
|
|
| |
code can do calling-convention queries. This obviates OutputArgReg.
llvm-svn: 107786
|
| |
|
|
| |
llvm-svn: 107710
|