Sanjiv Gupta
5cd04857b1
For some targets pointer and int are 16-bits. Allow 16-bits as a valid index
...
in such cases.
llvm-svn: 58505
2008-10-31 10:26:20 +00:00
Bill Wendling
0f1f4f8bb1
Don't skip over all "terminator" instructions when determining where to put the
...
callee-saved restore code. It could skip over conditional jumps
accidentally. Instead, just skip the "return" instructions.
llvm-svn: 58489
2008-10-31 04:00:23 +00:00
Daniel Dunbar
8abdac1eb4
Fix warning.
...
llvm-svn: 58486
2008-10-31 01:50:01 +00:00
Oscar Fuentes
6c18710cd5
CMake: Fix some unwanted commentary line wraps on the last change.
...
llvm-svn: 58485
2008-10-31 01:37:26 +00:00
Oscar Fuentes
f4d7a3885b
CMake: Establish dependencies among executables and libraries, using
...
data manually extracted from llvm-config.
llvm-svn: 58484
2008-10-31 01:24:51 +00:00
Dan Gohman
481e1fd0a6
Use MOVSSmr instead of EXTRACTPSmr in the case of extracting
...
vector element 0 for a store, as it's smaller and faster.
llvm-svn: 58483
2008-10-31 00:57:24 +00:00
Jim Grosbach
31e64cbf49
Revert errant deletion. The target needs to be able to specify that it doesn't want the generic constant pool to be emitted.
...
llvm-svn: 58475
2008-10-30 23:44:39 +00:00
Evan Cheng
56f4944f9a
I think we got non-machine specific constpool entries covered.
...
llvm-svn: 58474
2008-10-30 23:43:36 +00:00
Cedric Venet
b7e79123d4
Change the name of the generated solution file for a CMake build. (from 'project' to 'LLVM').
...
!!!!!!!!!! Warning !!!!!!!!!!!!!!!
If you already have created a solution with cmake, you will need to manually open to the new one.
llvm-svn: 58461
2008-10-30 21:22:00 +00:00
Duncan Sands
44a5a9b4ea
Testcase for PR2987.
...
llvm-svn: 58459
2008-10-30 21:13:11 +00:00
Dan Gohman
50061675c5
Canonicalize sext(i1) to i1?-1:0, and update various instcombine
...
optimizations accordingly.
llvm-svn: 58457
2008-10-30 20:40:10 +00:00
Duncan Sands
1903629c49
Testcase for PR2986.
...
llvm-svn: 58456
2008-10-30 20:34:30 +00:00
Duncan Sands
615567edc6
Fix PR2986: do not use a potentially illegal
...
type for the shift amount type. Add a check
that shifts and rotates use the type returned
by getShiftAmountTy for the amount. This
exposed some problems in CellSPU and PPC,
which have already been fixed.
llvm-svn: 58455
2008-10-30 20:26:50 +00:00
Duncan Sands
720e5548cb
Shift amounts should have type getShiftAmountTy
...
(i32 for PPC, not i8). Correct this, and some
formatting while there.
llvm-svn: 58451
2008-10-30 19:28:32 +00:00
Daniel Dunbar
097da598fb
Add InlineCost class for represent the estimated cost of inlining a
...
function.
- This explicitly models the costs for functions which should
"always" or "never" be inlined. This fixes bugs where such costs
were not previously respected.
llvm-svn: 58450
2008-10-30 19:26:59 +00:00
Duncan Sands
ae31c14963
Shift amounts should have the type given by
...
getShiftAmountTy (i32 in the case of CellSPU).
llvm-svn: 58449
2008-10-30 19:24:28 +00:00
Mon P Wang
64e6e15947
Add missing vsetcc expansion for widening
...
llvm-svn: 58443
2008-10-30 18:21:52 +00:00
Oscar Fuentes
1f9a5255c8
CMake: Reverted some unintentional changes on the previous commit.
...
llvm-svn: 58435
2008-10-30 17:21:37 +00:00
Oscar Fuentes
364cf5cca2
CMake: Cygwin pretends to be Unix.
...
Patch by Jay Foad.
llvm-svn: 58434
2008-10-30 17:15:54 +00:00
Evan Cheng
6f41528b91
ARM JIT should observe -relocation-model command line option.
...
llvm-svn: 58433
2008-10-30 16:10:54 +00:00
Mon P Wang
d7e34cd378
Add initial support for vector widening. Logic is set to widen for X86.
...
One will only see an effect if legalizetype is not active. Will move
support to LegalizeType soon.
llvm-svn: 58426
2008-10-30 08:01:45 +00:00
Chris Lattner
48f4eea41d
mention fortran status.
...
llvm-svn: 58416
2008-10-30 03:58:13 +00:00
Scott Michel
5b588212d8
Resolve bug 2947: vararg-marked functions must spill registers R3-R79 to stack
...
so that va_start/va_arg/et.al. will walk arguments correctly for Cell SPU.
N.B.: Because neither clang nor llvm-gcc-4.2 can be built for CellSPU, this is
still unexorcised code.
llvm-svn: 58415
2008-10-30 01:51:48 +00:00
Bill Wendling
b8d234c2e3
Revert r58411. The user needs to #define this when using the JITMemoryManager.h header.
...
llvm-svn: 58414
2008-10-30 01:22:58 +00:00
Dan Gohman
6f15274f7f
Spell DISABLE_ASSERTIONS correctly.
...
llvm-svn: 58413
2008-10-30 01:08:03 +00:00
Bill Wendling
9ebb27a645
Revert part of r58048. It was breaking on SnowLeopard claiming that
...
"__STDC_CONSTANT_MACROS" needs to be #defined first.
llvm-svn: 58411
2008-10-30 00:11:55 +00:00
Evan Cheng
69c2588244
Correct way to handle CONSTPOOL_ENTRY instructions.
...
llvm-svn: 58409
2008-10-29 23:55:43 +00:00
Evan Cheng
5e8fa6ef36
Add debugging support.
...
llvm-svn: 58408
2008-10-29 23:55:17 +00:00
Evan Cheng
479adf22ee
Let target resolve some relocation results.
...
llvm-svn: 58407
2008-10-29 23:54:46 +00:00
Evan Cheng
321081da57
This is not needed anymore.
...
llvm-svn: 58406
2008-10-29 23:54:10 +00:00
Evan Cheng
e82f1335c7
Add a bit to MachineRelocation that tells JIT that target is responsible for resolving the address. e.g. ARM constpool.
...
llvm-svn: 58405
2008-10-29 23:53:42 +00:00
Nate Begeman
e621f0539e
Fix PEXTRQ encoding
...
llvm-svn: 58403
2008-10-29 23:07:17 +00:00
Chris Lattner
a99dc2692a
add testcase for PR2964
...
llvm-svn: 58393
2008-10-29 18:42:22 +00:00
Dale Johannesen
ff738e8897
Add a RM pseudoreg for the rounding mode, which
...
allows ppcf128->int conversion to work with
DeadInstructionElimination. This is now turned
off but RM is harmless. It does not do a complete
job of modeling the rounding mode.
Revert marking MFCR as using all 7 CR subregisters;
while correct, this caused the problem in PR 2964,
plus the local RA crash noted in the comments.
This was needed to make DeadInstructionElimination,
but as we are not running that, it is backed out
for now. Eventually it should go back in and the
other problems fixed where they're broken.
llvm-svn: 58391
2008-10-29 18:26:45 +00:00
Duncan Sands
c5e736bb1b
Testcase for PR2917.
...
llvm-svn: 58389
2008-10-29 18:06:20 +00:00
Duncan Sands
4f4d9d24a4
Uniformize capitalization of NodeId.
...
llvm-svn: 58386
2008-10-29 17:52:12 +00:00
Chris Lattner
4af91a146a
Fix PR2967 by not deleting volatile load/stores that occur before unreachable.
...
I don't really see this as being needed, but there is little harm from doing
it.
llvm-svn: 58385
2008-10-29 17:46:26 +00:00
Torok Edwin
f4b6f018ef
fix typo
...
llvm-svn: 58384
2008-10-29 16:32:06 +00:00
Duncan Sands
caffd6f944
Make the declaration of bzero match size_t on
...
x86-64-linux.
llvm-svn: 58383
2008-10-29 15:57:37 +00:00
Duncan Sands
fd032c5bef
Fix PR2977: LegalizeTypes support for expanding
...
VAARG.
llvm-svn: 58379
2008-10-29 14:25:28 +00:00
Duncan Sands
ada9e7a16d
Add sanity checking for BUILD_PAIR (I noticed the
...
other day that PPC custom lowering could create
a BUILD_PAIR of two f64 with a result type of...
f64! - already fixed). Fix a place that triggers
the sanity check.
llvm-svn: 58378
2008-10-29 14:22:20 +00:00
Evan Cheng
6125b9e097
- More pre-split fixes: spill slot live interval computation bug; restore point bug.
...
- If a def is spilt, remember its spill index to allow its reuse.
llvm-svn: 58375
2008-10-29 08:39:34 +00:00
Duncan Sands
3faee6737e
Fix a FIXME: in ReplaceNodeWith, if the new node
...
is morphed by AnalyzeNewNode into a previously
processed node, and different result values of
that node are remapped to values with different
nodes, then we could end up using wrong values
here [we were assuming that all results remap
to values with the same underlying node]. This
seems theoretically possible, but I don't have
a testcase. The meat of the patch is in the
changes to AnalyzeNewNode/AnalyzeNewValue and
ReplaceNodeWith. While there, I changed names
like RemapNode to RemapValue, since it really
remaps values. To tell the truth, I would be
much happier if we were only remapping nodes
(it would simplify a bunch of logic, and allow
for some cute speedups) but I haven't yet worked
out how to do that.
llvm-svn: 58372
2008-10-29 06:42:19 +00:00
Duncan Sands
cb5432cdb4
Fix 80 column violations.
...
llvm-svn: 58371
2008-10-29 06:33:00 +00:00
Duncan Sands
790e7e655b
Fix 80 column violations.
...
llvm-svn: 58370
2008-10-29 06:31:03 +00:00
Evan Cheng
cd21d433bb
- Rewrite code that update register live interval that's split.
...
- Create and update spill slot live intervals.
- Lots of bug fixes.
llvm-svn: 58367
2008-10-29 05:06:14 +00:00
Oscar Fuentes
c2a8e16a50
CMake: Removed some cruft.
...
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Daniel Dunbar
2265cf485e
Factor shouldInline method out of Inliner.
...
- No functionality change.
llvm-svn: 58355
2008-10-29 01:02:02 +00:00
David Greene
b33593aa75
Don't force things to be Value * when they're not.
...
llvm-svn: 58354
2008-10-29 00:30:54 +00:00
Daniel Dunbar
e2fe2de3f4
Assorted comment/naming fixes, 80-col violations, and reindentation.
...
- No functionality change.
llvm-svn: 58352
2008-10-28 23:24:26 +00:00