Chris Lattner
6c234bf58f
add a simple hack
...
llvm-svn: 45343
2007-12-24 19:27:46 +00:00
Gordon Henriksen
84c7325ca1
Setting GlobalDirective in TargetAsmInfo by default rather than
...
providing a misleading facility. It's used once in the MIPS backend
and hardcoded as "\t.globl\t" everywhere else.
llvm-svn: 45338
2007-12-23 20:58:16 +00:00
Chris Lattner
00602f6105
fix some warnings. This code needs to be de-tabified :(
...
llvm-svn: 45325
2007-12-22 22:47:03 +00:00
Chris Lattner
91f3379660
fix strict-aliasing violation
...
llvm-svn: 45324
2007-12-22 22:45:38 +00:00
Anton Korobeynikov
1b1250770c
Erm, really disable :)
...
llvm-svn: 45319
2007-12-22 20:46:24 +00:00
Anton Korobeynikov
d34112a4ee
Disable, until we'll really need it
...
llvm-svn: 45318
2007-12-22 20:41:12 +00:00
Evan Cheng
345a00ba05
Preliminary PIC JIT support for X86 (32-bit) / Darwin.
...
llvm-svn: 45313
2007-12-22 09:40:20 +00:00
Evan Cheng
db33a0211b
Oops.
...
llvm-svn: 45312
2007-12-22 09:14:34 +00:00
Evan Cheng
f4f52dbc8c
Fix JIT code emission of X86::MovePCtoStack.
...
llvm-svn: 45307
2007-12-22 02:26:46 +00:00
Evan Cheng
ac134551c6
Allow JIT with non-static relocation model.
...
llvm-svn: 45304
2007-12-22 01:12:14 +00:00
Anton Korobeynikov
1e8c1308bb
Fix silly typo in the FP CEP handling.
...
llvm-svn: 45300
2007-12-21 23:33:44 +00:00
Duncan Sands
85f26f28b9
Fix a brain fart by our beloved leader (the content
...
of this patch is the last line).
llvm-svn: 45289
2007-12-21 20:18:41 +00:00
Nicolas Geoffray
31a2c3948e
Fix unintented change from last commit
...
llvm-svn: 45282
2007-12-21 12:22:29 +00:00
Nicolas Geoffray
80c741e160
Enable EH for linux/ppc32 targets
...
llvm-svn: 45281
2007-12-21 12:19:44 +00:00
Evan Cheng
78c460c8c4
New entry.
...
llvm-svn: 45280
2007-12-21 01:31:58 +00:00
Evan Cheng
01c7c198ee
Fix JIT encoding for CMPSD as well.
...
llvm-svn: 45268
2007-12-20 19:57:09 +00:00
Scott Michel
5f1470f03a
More working CellSPU tests:
...
- vec_const.ll: Vector constant loads
- immed64.ll: i64, f64 constant loads
llvm-svn: 45242
2007-12-20 00:44:13 +00:00
Dale Johannesen
eadbf4b91c
Enable EH on PPC Darwin. This basically works; there
...
are a couple of issues that show up with the optimizer,
but I don't think they're really EH problems.
(llvm-gcc testsuite users note: By default the testsuite
uses the unwinding code that's built as part of your local
llvm-gcc, which does not work. You need to trick it into
using the installed system unwinding code to get useful
results.)
llvm-svn: 45221
2007-12-19 21:54:36 +00:00
Scott Michel
5ecac82f71
CellSPU testcase, extract_elt.ll: extract vector element.
...
llvm-svn: 45219
2007-12-19 21:17:42 +00:00
Scott Michel
098c113bc8
Two more test cases: or_ops.ll (arithmetic or operations) and vecinsert.ll
...
(vector insertions)
llvm-svn: 45216
2007-12-19 20:15:47 +00:00
Scott Michel
9b834469e0
Add new immed16.ll test case, fix CellSPU errata to make test case work.
...
llvm-svn: 45196
2007-12-19 07:35:06 +00:00
Bill Wendling
ca77ecb40a
Mark the "isRemat" instruction as never having side effects.
...
llvm-svn: 45190
2007-12-19 06:07:48 +00:00
Chris Lattner
2583a66295
add an obvious load folding missed optzn.
...
llvm-svn: 45161
2007-12-18 16:48:14 +00:00
Christopher Lamb
8b09a464b4
Fold certain additions through selects (and their compares) so as to eliminate subtractions. This code is often produced by the SMAX expansion in SCEV.
...
This implements test/Transforms/InstCombine/2007-12-18-AddSelCmpSub.ll
llvm-svn: 45158
2007-12-18 09:34:41 +00:00
Chris Lattner
52a9e40789
add a missed case.
...
llvm-svn: 45141
2007-12-18 01:19:18 +00:00
Bill Wendling
b3d85a5d4b
Add "mayHaveSideEffects" and "neverHasSideEffects" flags to some instructions. I
...
based what flag to set on whether it was already marked as
"isRematerializable". If there was a further check to determine if it's "really"
rematerializable, then I marked it as "mayHaveSideEffects" and created a check
in the X86 back-end similar to the remat one.
llvm-svn: 45132
2007-12-17 23:07:56 +00:00
Scott Michel
c5cccb9e60
- Restore some i8 functionality in CellSPU
...
- New test case: nand.ll
llvm-svn: 45130
2007-12-17 22:32:34 +00:00
Bill Wendling
a2401be121
LD_Fp64m should have "isRematerializable" set.
...
llvm-svn: 45128
2007-12-17 22:17:14 +00:00
Bill Wendling
939526a930
As per feedback, revised comments to (hopefully) make the different side effect
...
flags clearer.
llvm-svn: 45120
2007-12-17 21:02:07 +00:00
Christopher Lamb
edf0788758
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
...
llvm-svn: 45082
2007-12-17 01:12:55 +00:00
Chris Lattner
2af27c202c
don't violate C TBAA rules, use FloatToBits instead.
...
llvm-svn: 45076
2007-12-16 20:41:33 +00:00
Chris Lattner
e3b05fe31b
fix a questionable cast, thanks to Mike Stump for pointing this out.
...
llvm-svn: 45075
2007-12-16 20:26:54 +00:00
Chris Lattner
dab6bd902e
Fix the JIT encoding of cmp*ss, which aborts with this assertion currently:
...
X86CodeEmitter.cpp:378: failed assertion `0 && "Immediate size not set!"'
I *think* this is right, but Evan, please verify. It also looks like
CMPSDrr and maybe others are missing this info. Evan, plz investigate.
llvm-svn: 45074
2007-12-16 20:12:41 +00:00
Evan Cheng
23d2d4dc6c
Make better use of instructions that clear high bits; fix various 2-wide shuffle bugs.
...
llvm-svn: 45058
2007-12-15 03:00:47 +00:00
Scott Michel
0aa7133f82
Start committing working test cases for CellSPU.
...
llvm-svn: 45050
2007-12-15 00:38:50 +00:00
Evan Cheng
9556729128
Actually, MOVPQIto64mr is a dup of MOVPQI2QImr, MOV64toPQIrm is a dup of MOVQI2PQIrm.
...
llvm-svn: 45041
2007-12-14 20:08:14 +00:00
Evan Cheng
e28372c0d6
Fix (mem) <-> low 64-bits of xmm bugs pointed out by David Greene. Mac OS X Leopard assembler recognizes movq.
...
llvm-svn: 45040
2007-12-14 19:54:07 +00:00
Dale Johannesen
f7cefdd5f0
x86-32 long doubles are 4-byte aligned on the stack
...
for parameter passing (only for that, on Darwin).
llvm-svn: 45038
2007-12-14 19:25:34 +00:00
Evan Cheng
a56e6ff9a7
Fix bsf / bsr jit encoding.
...
llvm-svn: 45037
2007-12-14 18:49:43 +00:00
Evan Cheng
f28c810036
Oops. Forgot these.
...
llvm-svn: 45036
2007-12-14 18:25:34 +00:00
Dan Gohman
9d2e9e376f
Fix Intel asm syntax for the bsr and bsf instructions.
...
llvm-svn: 45030
2007-12-14 15:10:00 +00:00
Evan Cheng
0e6408124e
Fix ctlz and cttz. llvm definition requires them to return number of bits in of the src type when value is zero.
...
llvm-svn: 45029
2007-12-14 08:30:15 +00:00
Evan Cheng
e9fbc3f014
Implement ctlz and cttz with bsr and bsf.
...
llvm-svn: 45024
2007-12-14 02:13:44 +00:00
Bill Wendling
cb77f04e1f
Add flags to indicate that there are "never" side effects or that there "may be"
...
side effects for machine instructions.
llvm-svn: 45022
2007-12-14 01:48:59 +00:00
Evan Cheng
827d30db19
Fold some and + shift in x86 addressing mode.
...
llvm-svn: 44970
2007-12-13 00:43:27 +00:00
Evan Cheng
6e68381e02
Implicit def instructions, e.g. X86::IMPLICIT_DEF_GR32, are always re-materializable and they should not be spilled.
...
llvm-svn: 44960
2007-12-12 23:12:09 +00:00
Duncan Sands
fde556745b
Remove host endianness info from TargetData and
...
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.
llvm-svn: 44959
2007-12-12 23:03:45 +00:00
Dan Gohman
7a7742c2fe
Allow vector integer constants to be created with
...
SelectionDAG::getConstant, in the same way as vector floating-point
constants. This allows the legalize expansion code for @llvm.ctpop and
friends to be usable with vector types.
llvm-svn: 44954
2007-12-12 22:21:26 +00:00
Evan Cheng
0f42730722
Use shuffles to implement insert_vector_elt for i32, i64, f32, and f64.
...
llvm-svn: 44929
2007-12-12 07:55:34 +00:00
Evan Cheng
2a98956796
Lower a build_vector with all constants into a constpool load unless it can be done with a move to low part.
...
llvm-svn: 44921
2007-12-12 06:45:40 +00:00