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
Dan Gohman
ee8273e52f
Initial support for carrying MachineInstrs in SUnits.
...
llvm-svn: 59278
2008-11-14 00:06:09 +00:00
Dan Gohman
a2cbbaa41f
Change DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of
...
the current function on its own, rather than relying on the SelectionDAG.
llvm-svn: 59277
2008-11-13 23:45:55 +00:00
Dan Gohman
059dc8d32a
Clarify the comment about NumPreds and NumSuccs to reflect that they only
...
count non-control preds and succs.
llvm-svn: 59276
2008-11-13 23:41:41 +00:00
Evan Cheng
fabdcce677
Handle the rest of pseudo instructions.
...
llvm-svn: 59275
2008-11-13 23:36:57 +00:00
Evan Cheng
ea68423998
Lazy compilation callback save / restore VFP registers.
...
llvm-svn: 59274
2008-11-13 23:28:54 +00:00
Dan Gohman
072734ebd6
Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
...
to carry a SmallVector of flagged nodes, just calculate the flagged nodes
dynamically when they are needed.
The local-liveness change is due to a trivial scheduling change where
the scheduler arbitrary decision differently.
llvm-svn: 59273
2008-11-13 23:24:17 +00:00
Dale Johannesen
b47f6d3237
testcase for PR 1779.
...
llvm-svn: 59268
2008-11-13 22:17:10 +00:00
Owen Anderson
d36b4c1bf8
Don't allow the restore point to be placed after terminators. With this change,
...
MultiSource/Applications is clean with the prealloc splitter. Some failures
remain in SPEC.
llvm-svn: 59267
2008-11-13 21:53:14 +00:00
Dale Johannesen
bee1ad9707
Extend InlineAsm::C_Register to allow multiple specific registers
...
(actually, code already all worked, only the comment
changed). Use this to implement 'A' constraint on x86.
Fixes PR 1779.
llvm-svn: 59266
2008-11-13 21:52:36 +00:00
Evan Cheng
bf9a055c98
Always emit a function pointer as a pointer to the function stub (if there is one). This makes it possible to compare function pointer values in lazy compilation mode. This fixes PR3043.
...
llvm-svn: 59265
2008-11-13 21:50:50 +00:00
Dan Gohman
1ddfcba5be
Make the Node member of SUnit private, and add accessors.
...
llvm-svn: 59264
2008-11-13 21:36:12 +00:00
Dan Gohman
5a390b974c
Change ScheduleDAG's DAG member from a reference to a pointer, to prepare
...
for the possibility of scheduling without a SelectionDAG being present.
llvm-svn: 59263
2008-11-13 21:21:28 +00:00
Steve Naroff
60d10c3d2a
Add files to VC++ projects.
...
llvm-svn: 59262
2008-11-13 21:18:54 +00:00
Evan Cheng
935963de81
Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
...
llvm-svn: 59258
2008-11-13 19:22:28 +00:00
Dan Gohman
d92243a74c
LLVM can generate native code for amd64 on "Linux".
...
llvm-svn: 59257
2008-11-13 19:07:07 +00:00
Dan Gohman
8fed4ce0b8
Use find_first/find_next to iterate through all the set bits in a
...
BitVector, instead of manually testing each bit.
llvm-svn: 59246
2008-11-13 16:31:27 +00:00
Bill Wendling
c35325c698
Fix to record comparator to make it work for return values > 1.
...
llvm-svn: 59242
2008-11-13 12:03:00 +00:00
Bill Wendling
3d2667c8f3
Put comma in correct place for call to StructType::get
...
llvm-svn: 59241
2008-11-13 10:18:35 +00:00
Bill Wendling
9182147f17
Modify the intrinsics pattern to separate out the "return" types from the
...
"parameter" types. An intrinsic can now return a multiple return values like
this:
def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty],
[LLVMMatchType<0>, LLVMMatchType<0>]>;
llvm-svn: 59237
2008-11-13 09:08:33 +00:00
Evan Cheng
320902bcfc
fsub{d|s} encoding bugs.
...
llvm-svn: 59234
2008-11-13 07:59:48 +00:00
Evan Cheng
4af89f7e7d
Missed a break statement.
...
llvm-svn: 59231
2008-11-13 07:46:59 +00:00
Evan Cheng
2666f59322
Fix pre- and post-indexed load / store encoding bugs.
...
llvm-svn: 59230
2008-11-13 07:34:59 +00:00
Bill Wendling
9a04b9dd8b
Refactor the code that does the type checking for intrinsics.
...
llvm-svn: 59228
2008-11-13 07:11:27 +00:00
Daniel Dunbar
ed90e701f0
Add Binary flag to raw_fd_ostream constructor.
...
Document raw_fd_ostream's treatment of "-".
llvm-svn: 59219
2008-11-13 05:01:07 +00:00
Bill Wendling
9aa657663a
Added testcase for r59214.
...
llvm-svn: 59218
2008-11-13 04:09:04 +00:00
Devang Patel
3dd51c5c62
Really remove all debug information.
...
llvm-svn: 59208
2008-11-13 01:28:40 +00:00
Bill Wendling
1a0f1d88ff
Regenerated
...
llvm-svn: 59204
2008-11-13 01:03:00 +00:00
Bill Wendling
a813017b41
Update docs for ssp and sspreq function attributes.
...
llvm-svn: 59203
2008-11-13 01:02:51 +00:00
Bill Wendling
ccb67a3d85
Implement stack protectors as function attributes: "ssp" and "sspreq".
...
llvm-svn: 59202
2008-11-13 01:02:14 +00:00
Dan Gohman
6cd8ad06d6
Revert the part of r59145 that changed the comment about
...
virtual registers possibly having multiple kills while still
being defined and killed in the same block. If LiveIntervals
is manually re-run after two-address lowering, it currently
does add extra kills to two-address instructions, but this
is considered a bug.
llvm-svn: 59194
2008-11-12 23:24:15 +00:00
Dan Gohman
88ba5f0b96
Move the code that inserts X87 FP_REG_KILL instructions from a
...
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.
llvm-svn: 59190
2008-11-12 22:55:05 +00:00
Evan Cheng
287a25d636
Remove the incorrect assertion. We don't have enough information before relocation to set U bit.
...
llvm-svn: 59170
2008-11-12 21:37:59 +00:00
Oscar Fuentes
0c6b786ab2
CMake: when bulding shared libraries on non-WIN32 systems, link dl to
...
LLVMSystem.
llvm-svn: 59159
2008-11-12 20:40:56 +00:00
Oscar Fuentes
38d6c9a817
Tell GenLibDeps.pl to inspect .so and .dylib shared files.
...
llvm-svn: 59158
2008-11-12 20:39:06 +00:00
Dale Johannesen
6467858be1
Fix unsigned char->ppcf128 conversion.
...
llvm-svn: 59150
2008-11-12 18:38:44 +00:00
Dan Gohman
0df957e09d
Do the LiveVariables update before printing the instruction in
...
the debug output, so that the updated liveness flags are
reflected in the debug output.
llvm-svn: 59147
2008-11-12 17:15:19 +00:00
Dan Gohman
5efcb61337
Remove some debugging code made redundant by the change to do
...
coalescing as a separate pass rather than inside of
LiveIntervalAnalysis.
llvm-svn: 59146
2008-11-12 17:09:23 +00:00
Dan Gohman
da82aa3e0d
Update VarInfo's comments to reflect the current code. LiveVar
...
no longer records a unique defining instruction, and virtual
registers may have multiple kills while still being defined
and killed in the same block.
llvm-svn: 59145
2008-11-12 17:02:24 +00:00
Dan Gohman
8a46117376
Correct a function name in a comment.
...
llvm-svn: 59143
2008-11-12 16:53:40 +00:00
Tanya Lattner
129f4febd2
Add test case for ptr annotation.
...
llvm-svn: 59142
2008-11-12 16:12:27 +00:00
Mikhail Glushenkov
a2909684b6
Check the return value of std::getenv.
...
When constructing std::strings from C strings, we should check the input
value to be not NULL so that the std::string constructor does not
segfault.
Fixes #3047 .
llvm-svn: 59131
2008-11-12 12:41:18 +00:00
Duncan Sands
d85a1669b9
Correct these links.
...
llvm-svn: 59126
2008-11-12 10:10:25 +00:00
Duncan Sands
2907b0085c
Simplify SplitVecRes_EXTRACT_SUBVECTOR. This means
...
that it no longer handles non-power-of-two vectors.
However it previously only handled them sometimes,
depending on obscure numerical relationships between
the index and vector type. For example, for a vector
of length 6, it would succeed if and only if the
index was an even multiple of 6. I consider this
more confusing than useful.
llvm-svn: 59122
2008-11-12 08:37:57 +00:00
Duncan Sands
aa7060c885
Correct some thinkos in the expansion of ADD/SUB
...
when the target does not support ADDC/SUBC. This
fixes PR3044.
llvm-svn: 59120
2008-11-12 08:23:26 +00:00
Evan Cheng
e4df875dd6
Change binary dump format.
...
llvm-svn: 59119
2008-11-12 08:22:43 +00:00
Evan Cheng
45d030a05a
Address mode immediate offset has already been divided by 4.
...
llvm-svn: 59117
2008-11-12 08:21:12 +00:00
Evan Cheng
052f20d3b1
Fix a VFP binary arithmetic instruction encoding bug.
...
llvm-svn: 59116
2008-11-12 08:14:21 +00:00
Evan Cheng
2836d91630
Fix address mode 3 immediate offset mode encoding.
...
llvm-svn: 59109
2008-11-12 07:34:37 +00:00
Evan Cheng
af644b50b4
Consolidate formats; fix FCMPED etc. encodings.
...
llvm-svn: 59107
2008-11-12 07:18:38 +00:00
Tanya Lattner
9c9abe5936
Add ptr annotation intrinsic.
...
llvm-svn: 59106
2008-11-12 07:17:57 +00:00
Evan Cheng
4b6c7efbde
Fix VFP conversion instruction encodings.
...
llvm-svn: 59104
2008-11-12 06:41:41 +00:00
Evan Cheng
a0e2f26320
Fix encoding of single-precision VFP registers.
...
llvm-svn: 59102
2008-11-12 02:19:38 +00:00
Dale Johannesen
ffc67df2aa
Fix the testb optimization so x86 also bootstraps.
...
Reenable test.
llvm-svn: 59101
2008-11-12 02:00:35 +00:00
Evan Cheng
bfcee5b863
VFP fld / fst immediate field is multiplied by 4.
...
llvm-svn: 59100
2008-11-12 01:02:24 +00:00
Oscar Fuentes
1b504d5372
CMake: Remove removed source file.
...
llvm-svn: 59098
2008-11-12 00:14:12 +00:00
Mikhail Glushenkov
1cb041242f
Add a bit of lazy evaluation to PopulateCompilationGraph().
...
Only the tools that are mentioned in the compilation graph definition
are now inserted by PopulateCompilationGraph(). This should cut down
plugin loading time a little.
llvm-svn: 59097
2008-11-12 00:05:17 +00:00
Mikhail Glushenkov
c1e7dbb1f7
Some cosmetic changes.
...
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Devang Patel
4f02a0b740
Remove
...
llvm-svn: 59093
2008-11-11 23:58:15 +00:00
Devang Patel
bf0835706c
Undo previous check-in.
...
llvm-svn: 59092
2008-11-11 23:57:33 +00:00
Andrew Lenharth
7d8b884b12
This shouldn't be necessary
...
llvm-svn: 59090
2008-11-11 23:19:51 +00:00
Evan Cheng
97ccab888a
Fix FMDRR encoding.
...
llvm-svn: 59088
2008-11-11 22:46:12 +00:00
Evan Cheng
ad519bbe54
Handle floating point constpool_entry's.
...
llvm-svn: 59087
2008-11-11 22:19:31 +00:00
Owen Anderson
fd395eb801
Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping.
...
This lets several failing tests get farther along, but doesn't completely fix any of them.
llvm-svn: 59086
2008-11-11 22:11:27 +00:00
Evan Cheng
8cbbcb1f2f
Encode VFP load / store instructions.
...
llvm-svn: 59084
2008-11-11 21:48:44 +00:00
Dan Gohman
e52e0897e2
In ScheduleDAGRRList::CopyAndMoveSuccessors, create the SUnit for the load
...
before creating the SUnit for the operation that it was unfolded from. This
allows each SUnit to have all of its predecessor SUnits available at the time
it is created. I don't know yet if this will be absolutely required, but it
is a little tidier to do it this way.
llvm-svn: 59083
2008-11-11 21:34:44 +00:00
Dan Gohman
fb78ef9fd3
Avoid relying on the SelectionDAG for initializing the MachineFunction and
...
TargetLoweringInfo variables for the scheduler.
llvm-svn: 59082
2008-11-11 21:31:56 +00:00
Oscar Fuentes
7ae7d91ee0
CMake: Updated library dependency info used for MSVC++.
...
llvm-svn: 59079
2008-11-11 20:04:40 +00:00
Oscar Fuentes
2353ef3e91
CMake: Updated list of source files for lib/Transforms/Utils.
...
llvm-svn: 59077
2008-11-11 19:51:36 +00:00
Evan Cheng
38c9a14a88
Encode VFP conversion instructions.
...
llvm-svn: 59074
2008-11-11 19:40:26 +00:00
Chris Lattner
7db0a21b7b
last validation errors
...
llvm-svn: 59072
2008-11-11 19:36:31 +00:00
Devang Patel
50759f2dad
Remove incomplete lto-bugpoint tool. If there is an interest then we can resurrect this tool later on and finish implementation.
...
llvm-svn: 59071
2008-11-11 19:35:38 +00:00
Chris Lattner
97a5bb1157
fix some validation errors <it> -> <i>
...
llvm-svn: 59070
2008-11-11 19:35:15 +00:00
Chris Lattner
5f04ce98f2
fix some validation errors.
...
llvm-svn: 59069
2008-11-11 19:34:28 +00:00
Devang Patel
6096f26bd4
Add utility pass to remove dbg info.
...
llvm-svn: 59068
2008-11-11 19:33:39 +00:00
Chris Lattner
6ce09d73f0
remove an extraneous tag
...
llvm-svn: 59067
2008-11-11 19:31:26 +00:00
Chris Lattner
d402cc7b6a
Make this document *substantially* better and cover a lot more territory.
...
Document written by Mason Woo (http://www.woo.com )!
llvm-svn: 59066
2008-11-11 19:30:41 +00:00
Devang Patel
38d2c7e0e8
Silence unused variable warning.
...
llvm-svn: 59064
2008-11-11 19:17:41 +00:00
Devang Patel
95b18126ee
Use actual function name in comments.
...
llvm-svn: 59063
2008-11-11 19:16:41 +00:00
Dan Gohman
5499e89d06
Change the scheduler accessor methods to accept an explicit TargetMachine
...
argument instead of taking the SelectionDAG's TargetMachine. This is
needed for some upcoming scheduler changes.
llvm-svn: 59055
2008-11-11 17:50:47 +00:00
Evan Cheng
2d1937ede5
Add a README entry.
...
llvm-svn: 59052
2008-11-11 17:35:52 +00:00
Oscar Fuentes
93bf988701
CMake: forces rebuild of llvm-config's library dependency info when a
...
library is added or changed.
llvm-svn: 59051
2008-11-11 17:10:58 +00:00
Oscar Fuentes
a08c2905ad
CMake: corrected split of Alpha and Sparc AsmPrinters.
...
llvm-svn: 59050
2008-11-11 17:10:13 +00:00
Oscar Fuentes
90cf22e013
CMake: Removed unnecessary library path setting that was breaking the
...
build on OS X.
Fix by Jjgod Jiang!
llvm-svn: 59048
2008-11-11 16:56:52 +00:00
Anton Korobeynikov
03e084d482
Separate sparc asmprinter. This should unbreak the native build
...
llvm-svn: 59047
2008-11-11 16:42:57 +00:00
Anton Korobeynikov
f4caceb668
Separate alpha asmprinter. This should unbreak native build.
...
llvm-svn: 59046
2008-11-11 16:42:17 +00:00
Dan Gohman
059c4fa8d8
The 32-bit displacement field in an x86 address is signed. Arrange for it
...
to be sign-extended when it is promoted to 64 bits for intermediate
offset calculations. The offset calculations are done as uint64_t so that
overflow conditions are well defined.
This fixes a problem which is currently hidden by the x86 AsmPrinter but
which was exposed by r58917 (which is temporarily reverted). See PR3027
for details.
llvm-svn: 59044
2008-11-11 15:52:29 +00:00
Cedric Venet
8cb2e28e43
Update CMakeLists.txt
...
llvm-svn: 59039
2008-11-11 09:55:48 +00:00
Bill Wendling
49a5ce863e
Fix for PR3040:
...
The CC was changed, but wasn't checked to see if it was legal if the DAG
combiner was being run after legalization. Threw in a couple of checks just to
make sure that it's okay. As far as the PR is concerned, no back-end target
actually exhibited this problem, so there isn't an associated testcase.
llvm-svn: 59035
2008-11-11 08:25:46 +00:00
Andrew Lenharth
2126a6d3c4
fix another libgcc blocker
...
llvm-svn: 59026
2008-11-11 06:06:07 +00:00
Mon P Wang
774e9ac433
Cleaned up and fix bugs in convert_rndsat node
...
llvm-svn: 59025
2008-11-11 05:40:06 +00:00
Bill Wendling
4942f296c9
Un-XFAIL tests now that they're fixed.
...
llvm-svn: 59023
2008-11-11 04:44:42 +00:00
Scott Michel
aab89ca749
Unbreak the buildbot and back out (inadvertant) casting edits in CellSPU
...
backend.
llvm-svn: 59018
2008-11-11 03:06:06 +00:00
Evan Cheng
ac2af2fdb2
Encode VFP arithmetic instructions.
...
llvm-svn: 59016
2008-11-11 02:11:05 +00:00
Devang Patel
53b39b5467
Cleanup debug info. assocated with deleted instructions.
...
llvm-svn: 59012
2008-11-11 00:54:10 +00:00
Devang Patel
dc6699e82f
Add utility routines to remove dead debug info.
...
llvm-svn: 59011
2008-11-11 00:53:02 +00:00
Bill Wendling
6fcefa065e
r59009 broke these tests. XFAIL for now.
...
llvm-svn: 59010
2008-11-11 00:36:10 +00:00
Scott Michel
abad22cf45
CellSPU: Fix bug 3606, as well as some ongoing work.
...
llvm-svn: 59009
2008-11-10 23:43:06 +00:00
Bill Wendling
cfa3e287bb
Small simplification. Use the iterator already present as the insertion point.
...
llvm-svn: 59008
2008-11-10 23:38:59 +00:00
Evan Cheng
b172c66af3
Comments and indentation.
...
llvm-svn: 59007
2008-11-10 23:26:16 +00:00
Evan Cheng
02771dc473
Correct PIC function stub codegen.
...
llvm-svn: 59006
2008-11-10 23:14:47 +00:00
Oscar Fuentes
54c1dedd42
CMake: Fixed cross-compiling.
...
`clean' makefile target removes add-hoc directory created for building
the native tablegen.
llvm-svn: 59005
2008-11-10 22:09:59 +00:00
Dan Gohman
d3b33fea65
Fix indentation.
...
llvm-svn: 59004
2008-11-10 22:09:58 +00:00
Bill Wendling
b85755c829
Temporarily revert r58979 and related patch. It's causing a failure in X86 bootstrap:
...
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1obj-checksum.o differs
warning: ./cc1objplus-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./alias.o differs
./alloc-pool.o differs
./attribs.o differs
./bb-reorder.o differs
./bitmap.o differs
./build/errors.o differs
./build/genattrtab.o differs
./build/genautomata.o differs
./build/genemit.o differs
./build/genextract.o differs
...
-bw
llvm-svn: 59003
2008-11-10 21:22:06 +00:00
Bill Wendling
747f59f0f7
- Make sure that we don't over-increment the iterator when going through the
...
basic blocks.
- Minor code clean-up.
llvm-svn: 59002
2008-11-10 21:13:10 +00:00
Mon P Wang
58fb9135e2
Added CONVERT_RNDSAT (conversion with rounding and saturation) SDNode to
...
support targets that support these conversions. Users should avoid using
this node as the current targets don't generating code for it.
llvm-svn: 59001
2008-11-10 20:54:11 +00:00
Steve Naroff
74eefb5722
Update VC++ project file.
...
llvm-svn: 58997
2008-11-10 20:03:21 +00:00
Devang Patel
d0ce981372
If the sign of exit condition and split condition does not match
...
then do not split loop index.
llvm-svn: 58995
2008-11-10 19:48:34 +00:00
Duncan Sands
ddacbb39ab
Fix PR2667: add soft float support for sint_to_fp/uint_to_fp
...
where the argument is an apint, or smaller than the minimum
size for which there is a libcall (i32).
llvm-svn: 58994
2008-11-10 17:36:26 +00:00
Duncan Sands
13b2e3634b
Tweak some comments.
...
llvm-svn: 58993
2008-11-10 17:31:56 +00:00
Duncan Sands
7da4b44dd1
Small cleanups. No functionality change intended!
...
llvm-svn: 58992
2008-11-10 17:29:56 +00:00
Duncan Sands
d5b53e1c6c
When promoting the result of fp_to_uint/fp_to_sint,
...
inform the optimizers that the result must be zero/
sign extended from the smaller type. For example,
if a fp to unsigned i16 is promoted to fp to i32,
then we are allowed to assume that the extra 16 bits
are zero (because the result of fp to i16 is undefined
if the result does not fit in an i16). This is
quite aggressive, but should help the optimizers
produce better code. This requires correcting a
test which thought that fp_to_uint is some kind
of truncation, which it is not: in the testcase
(which does fp to i1), either the fp value converts
to 0 or 1 or the result is undefined, which is
quite different to truncation.
llvm-svn: 58991
2008-11-10 17:28:30 +00:00
Duncan Sands
0a758fae91
Work around PR1000.
...
llvm-svn: 58984
2008-11-10 10:05:09 +00:00
Anton Korobeynikov
8e58c52b37
Proper way of doing llvm canadian-cross compilation.
...
Patch by Jim Grosbach!
llvm-svn: 58981
2008-11-10 07:33:13 +00:00
Dale Johannesen
23be3fd970
Reenable test.
...
llvm-svn: 58980
2008-11-10 07:30:32 +00:00
Dale Johannesen
671743369c
Really fix testb optimization on big-endian.
...
Fixes ppc32 bootstrap.
llvm-svn: 58979
2008-11-10 07:16:42 +00:00
Bill Wendling
7ef7314d1a
Third time's a charm.
...
The previous patches didn't match correctly. Also, we need to make sure that
the conditional is the same before doing the transformation.
llvm-svn: 58978
2008-11-10 06:59:06 +00:00
Chris Lattner
2a09239563
final edits
...
llvm-svn: 58966
2008-11-10 05:40:34 +00:00
Mon P Wang
25f0106fd9
Added support for the following definition of shufflevector
...
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
llvm-svn: 58964
2008-11-10 04:46:22 +00:00
Chris Lattner
09487cd437
eliminate a couple more uses of utohexstr.
...
llvm-svn: 58963
2008-11-10 04:35:24 +00:00
Chris Lattner
5505eed5ac
Use utohex_buffer instead of utohexstr to avoid creating a temporary
...
string in the .ll and .s printers.
llvm-svn: 58962
2008-11-10 04:30:26 +00:00
Chris Lattner
90cdddec75
split out the functionality of utohexstr into a new utohex_buffer
...
helper. This allows us to convert numbers to hex without necessarily
needing to make a std::string to hold the result.
llvm-svn: 58961
2008-11-10 04:22:46 +00:00
Chris Lattner
53c56e4176
Move getCastToEmpty out of DIDescriptor into DIFactory. It is an
...
implementation detail of DIFactory anyway, and this allows it to avoid
recomputing the same type over and over.
llvm-svn: 58960
2008-11-10 04:10:34 +00:00
Chris Lattner
bc09b36016
Fix an over aggressive assumption that struct decls will have a pointer to
...
an array that is empty. Instead of requiring this array, allow a null pointer.
This shrinks all forward references of structs.
llvm-svn: 58959
2008-11-10 03:48:55 +00:00
Chris Lattner
85af1ee10d
Fix a bug with default arguments that apple gcc doesn't notice that llvmbb does.
...
llvm-svn: 58958
2008-11-10 03:11:39 +00:00
Chris Lattner
9d5771ea17
move some cases around to silence these sorts of warnings in
...
release-asserts build:
llvm/CodeGen/SelectionDAGNodes.h:1298: warning: control may reach end of non-void function 'unsigned int llvm::MVT::getSizeInBits() const' being inlined
what an unhelpful warning.
llvm-svn: 58957
2008-11-10 03:05:41 +00:00
Chris Lattner
4978d35967
add new file
...
llvm-svn: 58955
2008-11-10 02:58:28 +00:00
Chris Lattner
6d3893359e
Add a new set of helper classes for creating and reading debug
...
information. This logically replaces the "Desc" classes in
MachineModuleInfo. Nice features of these classes are that they:
1. Are much more efficient than MMI because they don't create a
temporary parallel data structure for debug info that has to be
'serialized' and 'deserialized' into/out of the module.
2. These provide a much cleaner abstraction for debug info than
MMI, which will make it easier to change the implementation in
the future (to be MDNode-based).
3. These are much easier to use than the MMI interfaces, requiring
a lot less code in the front-ends.
4. These can be used to both create (for frontends) and read (for
codegen) debug information. DebugInfoBuilder can only be used
to create the nodes.
So far, this is implemented just enough to support the debug info
generation needs of clang. This can and should be extended to
support the full set of debug info constructs, and we should switch
llvm-gcc and llc over to using this in the near future.
This code also has a ton of FIXMEs in it, because the way we
currently represent debug info in LLVM IR is basically insane in a
variety of details. This sort of issue should be fixed when we
eventually reimplement debug info on top of MDNodes.
llvm-svn: 58954
2008-11-10 02:56:27 +00:00
Oscar Fuentes
9530edd1f4
CMake: Builds a native tblgen when cross-compiling and the user didn't
...
set LLVM_TABLEGEN.
llvm-svn: 58953
2008-11-10 02:35:55 +00:00
Evan Cheng
0d9db40994
Forgot these.
...
llvm-svn: 58952
2008-11-10 01:52:24 +00:00
Oscar Fuentes
e9edc2cd15
CMake: Implement magic word `all' for selecting all targets. Check
...
that specified targets are known.
llvm-svn: 58951
2008-11-10 01:47:07 +00:00
Oscar Fuentes
e352ca077c
CMake: Non-working code for auto-building the native tblgen util when
...
cross-compiling.
llvm-svn: 58950
2008-11-10 01:32:14 +00:00
Evan Cheng
9f3058f3be
Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.
...
llvm-svn: 58949
2008-11-10 01:08:07 +00:00
Bill Wendling
4fb13c051d
Correction for the last patch. Should match the conditional in the first part
...
of the select match, not the select instruction itself.
llvm-svn: 58947
2008-11-09 23:37:53 +00:00
Bill Wendling
1579287550
The method of doing the matching with a 'select' instruction was wrong. The
...
original code was matching like this:
if (match(A, m_Not(m_Value(B))))
B was already matched as a 'select' instruction. However, this isn't matching
what we think it's matching. It would match B as a 'Value', so basically
anything would match to it. In this case, a Constant matched. B was replaced
with a constant representation. And then the wrong value would be used in the
SelectInst::Create statement, causing a crash.
After thinking on this for a moment, and after Nick L. told me how the pattern
matching stuff was supposed to work, the solution was to match NOT an m_Value,
but an m_Select.
llvm-svn: 58946
2008-11-09 23:17:42 +00:00
Oscar Fuentes
a6da027c18
CMake: Corrected detection of `nm'.
...
llvm-svn: 58941
2008-11-09 20:26:31 +00:00
Oscar Fuentes
b45a43aec4
CMake: Support for cross-compiling. For now, requires a previously
...
built native tblgen which is passed to cmake in the variable
LLVM_TABLEGEN.
See
http://www.cmake.org/Wiki/CmakeMingw
for a quick example on how to cross-compile with CMake.
llvm-svn: 58939
2008-11-09 18:53:19 +00:00
Chris Lattner
26c744492f
fix validation problem.
...
llvm-svn: 58938
2008-11-09 17:19:14 +00:00
Duncan Sands
3b36fd87a4
XFAIL this while waiting for a fix.
...
llvm-svn: 58934
2008-11-09 13:07:47 +00:00
Nuno Lopes
2e42927e7c
fix leakage of ValueNumbering
...
llvm-svn: 58933
2008-11-09 12:45:23 +00:00
Dale Johannesen
aa4d82d244
Temporarily revert 58825, which breaks PPC bootstrap.
...
xs
llvm-svn: 58930
2008-11-09 06:48:10 +00:00
Bill Wendling
3f547be28f
If the LHS of the FCMP is coming from a UIToFP instruction, then we don't want
...
to generate signed ICMP instructions to replace the FCMP. This would violate
the following:
define i1 @test1(i32 %val) {
%1 = uitofp i32 %val to double
%2 = fcmp ole double %1, 0.000000e+00
ret i1 %2
}
would be transformed into:
define i1 @test1(i32 %val) {
%1 = icmp slt i33 %val, 1
ret i1 %1
}
which is obviously wrong. This patch modifes InstCombiner::FoldFCmp_IntToFP_Cst
to handle when the LHS comes from UIToFP.
llvm-svn: 58929
2008-11-09 04:26:50 +00:00
Anton Korobeynikov
cfb3bc4a45
Typo fix
...
llvm-svn: 58928
2008-11-09 02:54:13 +00:00
Scott Michel
5c0378db8e
CellSPU: Update expected counts on expected patterns
...
llvm-svn: 58927
2008-11-09 01:03:41 +00:00
Anton Korobeynikov
9833d8c369
Temporary revert my last commit: it seems it's triggering some subtle bug in backend
...
and breaks llvm-gcc
llvm-svn: 58926
2008-11-08 23:05:05 +00:00
Oscar Fuentes
4829941a51
CMake: corrected library target name for dependency: LLVMCellSPU ->
...
LLVMCellSPUCodeGen.
llvm-svn: 58925
2008-11-08 21:23:15 +00:00
Oscar Fuentes
676e5194d0
CMake: Reflected changes on the CellSPU target build. May require a
...
clean start.
llvm-svn: 58924
2008-11-08 20:37:19 +00:00
Oscar Fuentes
b200b648c4
Fixed a pasto.
...
llvm-svn: 58923
2008-11-08 20:34:18 +00:00
Mikhail Glushenkov
f5a294d08d
Allow $CALL and $ENV in command names. Fixes #3025 .
...
llvm-svn: 58922
2008-11-08 19:43:32 +00:00
Scott Michel
a872e5af8a
CellSPU: Bring SPU's assembly printer more in-line with current LLVM code
...
structure. Assembly printer now outputs the correct section for strings.
llvm-svn: 58921
2008-11-08 18:59:02 +00:00
Duncan Sands
0f3937115d
Try to produce better code when scalarizing VSETCC.
...
llvm-svn: 58920
2008-11-08 18:26:48 +00:00
Anton Korobeynikov
09f51d1fd4
Factor out offset printing code into generic AsmPrinter.
...
FIXME: it seems, that most of targets don't support
offsets wrt CPI/GlobalAddress', was it intentional?
llvm-svn: 58917
2008-11-08 17:21:38 +00:00
Nicolas Geoffray
5a48f232f7
The Index field of an AttributeWithIndex is of type unsigned, not uint16_t.
...
llvm-svn: 58908
2008-11-08 15:36:01 +00:00
Anton Korobeynikov
09991ada2d
StoreInst does not produce any result thus it's useless to create new
...
variable for it. This greatly reduces amount of unused variables in
llvm2cpp-generated code
llvm-svn: 58905
2008-11-08 12:58:07 +00:00
Anton Korobeynikov
9278247502
Properly escape dashes in TableGen's LLVMC2 emitter.
...
Patch by Patrick Walton!
llvm-svn: 58901
2008-11-08 10:16:21 +00:00
Eric Christopher
6e670388c0
Fix syntax of iterate_complex example. Noticed by Martin!
...
llvm-svn: 58900
2008-11-08 08:20:49 +00:00
Evan Cheng
436bdcdcca
Moved InvalidateInstructionCache to ARMJITInfo::emitFunctionStub which knows size of stub.
...
llvm-svn: 58899
2008-11-08 08:16:49 +00:00
Evan Cheng
686a725b45
Remove a InvalidateInstructionCache call with incorrect size.
...
llvm-svn: 58898
2008-11-08 08:15:39 +00:00