Devang Patel
3b7a2be88e
Remove even more llvm.dbg variables.
...
Remove all dead globals from llvm.metadata.
Ignore linkonce linkage for selected llvm.dbg values.
llvm-svn: 59547
2008-11-18 21:13:41 +00:00
Oscar Fuentes
724e5f8f49
CMake: Remove HAVE_LT_DLOPEN from config.h.cmake because it was
...
removed from config.h.in.
llvm-svn: 59546
2008-11-18 21:12:01 +00:00
Duncan Sands
97933c3990
Simplify code using helper routines. There is not
...
supposed to be any functionality change.
llvm-svn: 59545
2008-11-18 20:56:22 +00:00
Owen Anderson
896512af94
Fix a bug introduced by my previous patch. With this change, SPEC is now clean with prealloc splitting enabled.
...
llvm-svn: 59544
2008-11-18 20:53:59 +00:00
Dan Gohman
0b2732598c
Add more const qualifiers. This fixes build breakage from r59540.
...
llvm-svn: 59542
2008-11-18 19:49:32 +00:00
Dan Gohman
0d9d8ae487
Make some methods const.
...
llvm-svn: 59540
2008-11-18 19:04:29 +00:00
Devang Patel
a13f1f38fa
Initialize MallocFunc and FreeFunc properly.
...
llvm-svn: 59538
2008-11-18 18:43:07 +00:00
Dan Gohman
1132313e71
Whitespace cleanups.
...
llvm-svn: 59532
2008-11-18 17:05:42 +00:00
Duncan Sands
789dbb906d
LegalizeTypes support for splitting and scalarizing
...
SCALAR_TO_VECTOR. I didn't add the testcase, because
once llc gets past scalar-to-vector it hits a SPU target
lowering bug and explodes.
llvm-svn: 59530
2008-11-18 16:40:48 +00:00
Nick Lewycky
1c451ae43e
Add a utility function that detects whether a loop is guaranteed to be finite.
...
Use it to safely handle less-than-or-equals-to exit conditions in loops. These
also occur when the loop exit branch is exit on true because SCEV inverses the
icmp predicate.
Use it again to handle non-zero strides, but only with an unsigned comparison
in the exit condition.
llvm-svn: 59528
2008-11-18 15:10:54 +00:00
Bill Wendling
13020d22da
Rename stackprotector_create intrinsic to stackprotector.
...
llvm-svn: 59519
2008-11-18 11:01:33 +00:00
Bill Wendling
cf194e9a27
Cast to remove warning about comparing signed and unsigned.
...
llvm-svn: 59518
2008-11-18 10:57:27 +00:00
Nicolas Geoffray
7aa444c031
Implement support for JIT exceptions on X86_64. Relative offsets are
...
encoded on 32 bytes, and the personality function is not encoded as
relative.
llvm-svn: 59516
2008-11-18 10:44:46 +00:00
Duncan Sands
81e65f16d7
Remove unused variable.
...
llvm-svn: 59515
2008-11-18 10:39:04 +00:00
Duncan Sands
1315f80ea8
Reapply r59464, this time using the correct type
...
when softening FNEG.
llvm-svn: 59513
2008-11-18 09:15:03 +00:00
Bill Wendling
c6c6dc5b90
A simple test for stack protectors. This should be valid on all platforms.
...
llvm-svn: 59505
2008-11-18 07:34:50 +00:00
Bill Wendling
7235002bd1
Remove the stackprotector_check intrinsic. Use a volatile load instead.
...
llvm-svn: 59504
2008-11-18 07:30:57 +00:00
Bill Wendling
eeb0415980
- Use "moveAfter" instead of "remove/insert" of a basic block.
...
- Use less indentation in coding.
- Shorten description.
- Update comments.
- Move code around
llvm-svn: 59496
2008-11-18 05:32:11 +00:00
Dan Gohman
fe1748da07
Fix a typo in a comment.
...
llvm-svn: 59489
2008-11-18 02:50:01 +00:00
Dan Gohman
22d07b14bc
Change SUnit's dump method to take a ScheduleDAG* instead of
...
a SelectionDAG*.
llvm-svn: 59488
2008-11-18 02:06:40 +00:00
Bill Wendling
e0d5e67c98
Revert r59464. It was causing this failure:
...
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll
Failed with signal(SIGABRT) at line 1
while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll | llc -march=xcore > fneg.ll.tmp1.s
Assertion failed: (VT.isFloatingPoint() && "Cannot create integer FP constant!"), function getConstantFP, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp, line 913.
0 llc 0x0092115c _ZN4llvm3sys18RemoveFileOnSignalERKNS0_4PathEPSs + 844
1 libSystem.B.dylib 0x9217809b _sigtramp + 43
2 ??? 0xffffffff 0x0 + 4294967295
3 libSystem.B.dylib 0x921f0ec2 raise + 26
4 libSystem.B.dylib 0x9220047f abort + 73
5 libSystem.B.dylib 0x921f2063 __assert_rtn + 101
6 llc 0x005a5b0a _ZN4llvm12SelectionDAG13getConmake[1]: *** [check-local] Error 1
make: *** [check] Error 2
llvm-svn: 59487
2008-11-18 01:49:24 +00:00
Dan Gohman
e2d8e5ff97
There is no InstrStage class.
...
llvm-svn: 59480
2008-11-18 01:05:04 +00:00
Devang Patel
f1e9329209
Give SIToFPInst preference over UIToFPInst because it is faster on platforms that are widely used.
...
llvm-svn: 59476
2008-11-18 00:40:02 +00:00
Dan Gohman
5ebdb98a6e
Avoid using a loop in ReleasePred and ReleaseSucc methods to compute the
...
new CycleBound value. Instead, just update CycleBound on each call.
Also, make ReleasePred and ReleaseSucc methods more consistent accross
the various schedulers.
This also happens to make ScheduleDAGRRList's CycleBound computation
somewhat more interesting, though it still doesn't have any noticeable
effect, because no current targets that use the register-pressure
reduction scheduler provide pipeline models.
llvm-svn: 59475
2008-11-18 00:38:59 +00:00
Devang Patel
180afd2c55
While handling floating point IVs lift restrictions on initial value and increment value.
...
llvm-svn: 59471
2008-11-17 23:27:13 +00:00
Devang Patel
aa3d68d301
Handle floating point ivs during doInitialization().
...
llvm-svn: 59466
2008-11-17 21:32:02 +00:00
Dan Gohman
92a36d7a78
Eliminate some trivial differences between the ScheduleNodeTopDown
...
functions in these two schedulers.
llvm-svn: 59465
2008-11-17 21:31:02 +00:00
Duncan Sands
f046b50ecd
Add soft float support for a bunch more operations. Original
...
patch by Richard Osborne, tweaked and extended by your humble
servant.
llvm-svn: 59464
2008-11-17 20:52:38 +00:00
Dan Gohman
4f474b092e
Don't bother doing latency calculations in the "fast" scheduler.
...
llvm-svn: 59461
2008-11-17 19:52:36 +00:00
Dan Gohman
a687fd8339
Use SUnit's CycleBound field instead of duplicating it in
...
a side-car datastructure
llvm-svn: 59458
2008-11-17 19:45:19 +00:00
Dale Johannesen
39b34e6d32
Remove these, which test for optimizations that
...
are not currently done (cf PowerPC/README.txt).
llvm-svn: 59456
2008-11-17 18:57:45 +00:00
Dale Johannesen
aae3a4f864
Move some former testcases (low-probability codegen
...
optimizations) into this wishlist.
llvm-svn: 59455
2008-11-17 18:56:34 +00:00
Devang Patel
b63c74730c
Let AnalyzeAlloca() remove debug intrinsics.
...
llvm-svn: 59454
2008-11-17 18:37:53 +00:00
Richard Osborne
6751b4a604
Don't produce ADDC/ADDE when expanding SHL unless they are legal
...
for the target. This fixes PR3080.
llvm-svn: 59450
2008-11-17 17:34:31 +00:00
Mikhail Glushenkov
20313c954e
Support dependencies between plugins by priority-sorting.
...
llvm-svn: 59449
2008-11-17 17:30:25 +00:00
Mikhail Glushenkov
7549d568d5
Filter ToolPropertiesList to exclude all Tools not mentioned in the compilation graph.
...
llvm-svn: 59448
2008-11-17 17:29:42 +00:00
Mikhail Glushenkov
faae122e07
Add a layer of indirection to make plugins more flexible.
...
Use strings instead of TableGen defs in the compilation graph
definition. Makes it easier for the plugins to modify an existing graph.
llvm-svn: 59447
2008-11-17 17:29:18 +00:00
Dan Gohman
17c226b8ca
Don't use the isPending flag to mean what the isAvailable flag means.
...
llvm-svn: 59445
2008-11-17 16:37:30 +00:00
Zhongxing Xu
a5055a03c6
move partial template specialization to FoldingSet.h.
...
llvm-svn: 59434
2008-11-17 02:40:00 +00:00
Mon P Wang
4964368e0d
Fixed legalization of CONVERT_RNDSAT for integers.
...
llvm-svn: 59432
2008-11-17 00:41:12 +00:00
Lang Hames
41df63945d
Removed 2008-10-17-SpillerBug.ll as it does not provide an accurate test of PR2898.
...
llvm-svn: 59431
2008-11-16 23:30:12 +00:00
Chris Lattner
354e8b8189
punctuate, add wording about patches contributed by others.
...
llvm-svn: 59417
2008-11-16 17:40:16 +00:00
Torok Edwin
026259faeb
If SI->size() is 0, we are not allowed to dereference ->begin().
...
This fixed PR3078.
llvm-svn: 59416
2008-11-16 17:21:25 +00:00
Lang Hames
782ec1a746
2008-10-17-SpillerBug.ll is currently failing, but this doesn't reflect an actual regression of PR2898. This test should probably be removed. I've XFAILed it for now to keep buildbot quiet while this is considered.
...
llvm-svn: 59415
2008-11-16 13:11:09 +00:00
Lang Hames
49ab8bc67d
Big PBQP allocator update. Adds coalescing support, stack slot coloring, several bug-fixes.
...
llvm-svn: 59414
2008-11-16 12:12:54 +00:00
Chris Lattner
7917b43a28
eliminate some std::set's.
...
llvm-svn: 59409
2008-11-16 07:17:51 +00:00
Chris Lattner
f8f6270f14
simplify loop
...
llvm-svn: 59406
2008-11-16 06:35:18 +00:00
Chris Lattner
44152742a0
simplify a bunch more instcombines to use m_Specific etc.
...
llvm-svn: 59403
2008-11-16 05:38:51 +00:00
Chris Lattner
d397fef50d
factor the code for simplifying (icmp)|(icmp) into its own function.
...
llvm-svn: 59402
2008-11-16 05:20:07 +00:00
Chris Lattner
909b969b18
do some computation with apints instead of ConstantInts.
...
llvm-svn: 59401
2008-11-16 05:14:43 +00:00
Chris Lattner
feaea9bdf7
merge a check into a place where it is simpler.
...
llvm-svn: 59400
2008-11-16 05:10:52 +00:00
Mon P Wang
7a82474387
Improved shuffle normalization to avoid using extract/build when we
...
can extract using different indexes for two vectors. Added a few tests
for vector shuffles.
llvm-svn: 59399
2008-11-16 05:06:27 +00:00
Chris Lattner
269cbd5770
factor a whole bunch of code out into a helper function.
...
llvm-svn: 59398
2008-11-16 05:06:21 +00:00
Chris Lattner
b37b6e7e96
simplify the conditions on two gigantic if's, decreasing indentation
...
a bit. Next step is to factor out into their own helper functions.
llvm-svn: 59397
2008-11-16 04:55:20 +00:00
Chris Lattner
f1be285134
simplify some instcombine matches by using m_Specific
...
llvm-svn: 59395
2008-11-16 04:46:19 +00:00
Zhongxing Xu
c0862044af
Fix 80-col violation.
...
llvm-svn: 59394
2008-11-16 04:44:41 +00:00
Chris Lattner
50b9a15a43
add a new m_Specific pattern that matches only if we have a specific Value*.
...
llvm-svn: 59393
2008-11-16 04:38:30 +00:00
Chris Lattner
fae5e33111
Use new m_SelectCst template to eliminate macros.
...
llvm-svn: 59392
2008-11-16 04:33:38 +00:00
Chris Lattner
2e692e2a31
add a new template for matching a select between two constants.
...
llvm-svn: 59391
2008-11-16 04:33:10 +00:00
Chris Lattner
569d78cbb5
simplify code.
...
llvm-svn: 59390
2008-11-16 04:26:55 +00:00
Chris Lattner
c3f3b059d0
Handle the case where there is no "not". It is possible it got
...
folded into the select.
llvm-svn: 59389
2008-11-16 04:25:26 +00:00
Chris Lattner
5f6d9a313b
factor a bunch of copy/paste code out into a helper function.
...
Eliminate the cases checking for cond?0:-1, since that is already
handled by commutative checking.
llvm-svn: 59388
2008-11-16 04:24:12 +00:00
Zhongxing Xu
c1e480a762
Add partial specialization of FoldingSetTrait for ImmutableList.
...
llvm-svn: 59387
2008-11-16 04:23:49 +00:00
Chris Lattner
645f60141b
make this actually test what it is trying to.
...
llvm-svn: 59386
2008-11-16 04:21:51 +00:00
Zhongxing Xu
788e39687e
Fix 80-column violation.
...
llvm-svn: 59385
2008-11-16 04:14:33 +00:00
Nick Lewycky
625c6f79b2
Don't brute-force analyze cubic or higher polynomials.
...
If this patch causes a performance regression for anyone, please let me know,
and it can be fixed in a different way with much more effort.
llvm-svn: 59384
2008-11-16 04:14:25 +00:00
Oscar Fuentes
08c4a35caa
CMake: MSVC: Pass list of components the right way to msvc_llvm_config
...
and siblings. Support targets whose name does not end on
`CodeGen'. Remove a performance bottleneck.
llvm-svn: 59383
2008-11-16 04:13:19 +00:00
Chris Lattner
68d2da2a19
rearrange some code, no functionality change.
...
llvm-svn: 59381
2008-11-16 03:56:24 +00:00
Chris Lattner
e02c7c7ad2
if we're going to use a macro, use it maximally. no functionality change.
...
llvm-svn: 59380
2008-11-16 03:54:57 +00:00
Oscar Fuentes
b5b8bd85fd
CMake: Forces linking of the rest of architecture targets and its
...
respective asm printers on MSVC.
Based on a patch by Scott Graham.
llvm-svn: 59379
2008-11-15 22:51:03 +00:00
Oscar Fuentes
ba4eb2a9db
Adds extern "C" ints to the .cpp files that use RegisterTarget, as
...
well as 2 files that use "Registrator"s. These are to be used by the
MSVC builds, as the Win32 linker does not include libs that are
otherwise unreferenced, even if global constructors in the lib have
side-effects.
Patch by Scott Graham!
llvm-svn: 59378
2008-11-15 21:36:30 +00:00
Oscar Fuentes
7e17369255
CMake: Removed some cruft.
...
llvm-svn: 59376
2008-11-15 20:51:18 +00:00
Oscar Fuentes
757a012bf1
CMake: Recursively invokes cmake using the right directories.
...
LLVM_MAIN_SRC_DIR and LLVM_BINARY_DIR are not the cmake top level
directories when LLVM is embedded on the build of other project.
Fixes PR #3072 .
llvm-svn: 59374
2008-11-15 20:35:25 +00:00
Nick Lewycky
6ce60407b2
Clean up some strange whitespace.
...
llvm-svn: 59373
2008-11-15 20:32:33 +00:00
Nick Lewycky
967aeeb400
Correct this error message.
...
llvm-svn: 59370
2008-11-15 17:50:47 +00:00
Zhongxing Xu
cfbc7cef61
Add Profile method to ImmutableList.
...
llvm-svn: 59362
2008-11-15 09:26:02 +00:00
Duncan Sands
da8d2873ed
When splitting a SHUFFLE_VECTOR, try to have the result
...
use SHUFFLE_VECTOR instead. If not practical, fall back
to the old scheme of building the split result by hand
using a BUILD_VECTOR.
llvm-svn: 59361
2008-11-15 09:25:38 +00:00
Mon P Wang
f414cbc1fd
Add missing widen operations, fixed widening for extracting a subvector,
...
and when loading/storing a widen vector, make sure that they are loaded
and stored in consecutive order.
llvm-svn: 59357
2008-11-15 06:05:52 +00:00
Oscar Fuentes
2c10b22b62
CMake: Adds header and TableGen files to Visual Studio solution. A new
...
dummy library, `llvm_headers_do_not_build', is created for containing
all header and TableGen files under include/llvm.
llvm-svn: 59346
2008-11-15 02:08:08 +00:00
Evan Cheng
9c205bf03c
Fix fuitos encoding.
...
llvm-svn: 59344
2008-11-15 00:40:57 +00:00
Oscar Fuentes
dc8d56e76e
CMake: Moved generation of Intrinsics.gen to
...
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.
llvm-svn: 59342
2008-11-15 00:24:38 +00:00
Dan Gohman
68294c06fe
Correct a comment.
...
llvm-svn: 59341
2008-11-15 00:24:23 +00:00
Dan Gohman
d2760c0473
Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file.
...
llvm-svn: 59340
2008-11-15 00:23:40 +00:00
Oscar Fuentes
49df826e30
CMake: Remove unused tablegenning code from tools/llvmc2/driver.
...
llvm-svn: 59333
2008-11-14 23:59:50 +00:00
Devang Patel
8ada1d5de5
Refactor code.
...
Strip debug information before stripping symbol names.
llvm-svn: 59328
2008-11-14 22:49:37 +00:00
Oscar Fuentes
070114fd79
CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
...
consistency.
Patch by Kevin Andre!
llvm-svn: 59326
2008-11-14 22:21:02 +00:00
Oscar Fuentes
751ea9d957
CMake: Fixed dependencies of .cpp source files on .td and tablegenned
...
files.
llvm-svn: 59325
2008-11-14 22:06:14 +00:00
Dan Gohman
1472955eab
Add support for building a ScheduleDAG from MachineInstrs. This is currently
...
fairly conservative; it doesn't do alias-analysis queries and it doesn't
attempt to break anti-dependencies.
llvm-svn: 59324
2008-11-14 21:47:58 +00:00
Evan Cheng
30f6f8fdad
Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.
...
llvm-svn: 59314
2008-11-14 20:09:11 +00:00
Dale Johannesen
80cd21dba6
Remove unneeded stuff from GRAD register class.
...
llvm-svn: 59311
2008-11-14 18:10:48 +00:00
Richard Osborne
0f802ba33e
[XCore] Remove whitespace in the description used when
...
registering XCoreTargetMachine.
llvm-svn: 59308
2008-11-14 16:19:56 +00:00
Richard Osborne
5fe5933909
[XCore] Fix expansion of 64 bit add/sub. Don't custom expand
...
these operations if ladd/lsub are not available on the current
subtarget.
llvm-svn: 59305
2008-11-14 15:59:19 +00:00
Richard Osborne
d16b37efae
Add XCore intrinsics for getid (returns thread id) and bitrev (reverses
...
bits in a word).
llvm-svn: 59296
2008-11-14 10:12:16 +00:00
Lang Hames
9a91bd82c5
Test commit.
...
llvm-svn: 59293
2008-11-14 06:51:35 +00:00
Oscar Fuentes
a5f835622d
CMake: Disallow in-source builds except when building with the Visual
...
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.
llvm-svn: 59292
2008-11-14 03:43:18 +00:00
Evan Cheng
889b79bb86
ARM / Mac OS X also wants to invalidate icache after jitting.
...
llvm-svn: 59291
2008-11-14 02:33:17 +00:00
Dan Gohman
e827dacf57
Add a version of NewSUnit for creating units with MachineInstrs.
...
llvm-svn: 59282
2008-11-14 00:41:36 +00:00
Dan Gohman
db8b95a4fa
For post-regalloc scheduling, remove the instructions from the block
...
before re-inserting them.
llvm-svn: 59281
2008-11-14 00:33:17 +00:00
Dan Gohman
1a21ab6925
Check in the correct version of the patch in r59279.
...
llvm-svn: 59280
2008-11-14 00:32:34 +00:00
Dan Gohman
8f973f157d
Debug printing for SUnits that carry MachineInstrs.
...
llvm-svn: 59279
2008-11-14 00:28:56 +00:00