Evan Cheng [Thu, 19 Jan 2006 01:56:29 +0000 (01:56 +0000)]
Two peepholes:
(or (x >> c) | (y << (32 - c))) ==> (shrd x, y, c)
(or (x << c) | (y >> (32 - c))) ==> (shld x, y, c)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25438
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jan 2006 01:55:45 +0000 (01:55 +0000)]
Prevent unnecessary CopyToReg when the same HW register appears in two spots
in the pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25437
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jan 2006 01:52:56 +0000 (01:52 +0000)]
Didn't mean to check that in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25436
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jan 2006 01:46:14 +0000 (01:46 +0000)]
A obvious typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25435
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jan 2006 01:21:04 +0000 (01:21 +0000)]
Make sure intrinsic auto-upgrade is invoked correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25434
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jan 2006 01:20:03 +0000 (01:20 +0000)]
Don't accept the ctpop, cttz, or ctlz intrinsics with signed arguments. The
interface requires unsigned arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25433
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jan 2006 01:18:29 +0000 (01:18 +0000)]
Add a new interface function to AutoUpgrade for simultaneously upgrading
the Function and the CallInst: UpgradeCallsToIntrinsic(Function*). Also,
re-factor the AutoUpgrade implementation to eliminate some duplication of
code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25432
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jan 2006 01:17:06 +0000 (01:17 +0000)]
Expand test to cover the non-overloaded variants of the arithmetic and
floating point intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25431
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Jan 2006 00:46:54 +0000 (00:46 +0000)]
If not internalizing, don't mark llvm.global[cd]tors const, as a fix for a
hypothetical future boog.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25430
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Jan 2006 00:40:39 +0000 (00:40 +0000)]
Don't internalize llvm.global[cd]tor unless there are uses of it. This
unbreaks front-ends that don't use __main (like the new CFE).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25429
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 18 Jan 2006 23:19:08 +0000 (23:19 +0000)]
was ignoring the legalized chain in this case, fixed SPASS on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25428
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 18 Jan 2006 22:59:33 +0000 (22:59 +0000)]
a reduced test case, the GlobalAddress is never legalized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25427
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 18 Jan 2006 22:35:16 +0000 (22:35 +0000)]
Get rid of code in the DAGCombiner that is duplicated in SelectionDAG.cpp
Now all constant folding in the code generator is in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 21:50:14 +0000 (21:50 +0000)]
Temporary work around for a libcall insertion bug: If a target doesn't
support FSIN/FCOS nodes, do not lower sin/cos to them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25425
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 21:32:45 +0000 (21:32 +0000)]
Make sure that cloning a module clones its target triple and dependent
library list as well. This should help bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:42:35 +0000 (19:42 +0000)]
Don't assert on 'select_cc SETUO'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:37:44 +0000 (19:37 +0000)]
fix out of date comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:35:21 +0000 (19:35 +0000)]
Fix Regression/CodeGen/PowerPC/2006-01-18-InvalidBranchOpcodeAssert.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25421
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:16:07 +0000 (19:16 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25420
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:13:41 +0000 (19:13 +0000)]
Fix a backwards conditional that caused an inf loop in some cases. This
fixes: test/Regression/CodeGen/Generic/2005-01-18-SetUO-InfLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25419
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jan 2006 19:13:11 +0000 (19:13 +0000)]
this testcase sent the dag combiner spinning into an infinite loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25418
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 18 Jan 2006 16:54:26 +0000 (16:54 +0000)]
Added minimum Dwarf aranges. Cleaned up some section headers. Line number
support now works in gdb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25417
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jan 2006 09:26:46 +0000 (09:26 +0000)]
SRA shift amount must be in i8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25416
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jan 2006 08:08:38 +0000 (08:08 +0000)]
If a call return type is i1, insert a truncate from X86::AL to i1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25415
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 17 Jan 2006 22:01:57 +0000 (22:01 +0000)]
Fixed style of curly brace. No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25414
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 21:58:21 +0000 (21:58 +0000)]
Fix lowering of calls which return f32 values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25413
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 21:39:39 +0000 (21:39 +0000)]
Pastos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jan 2006 21:31:18 +0000 (21:31 +0000)]
fix a broken comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25411
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 20:41:40 +0000 (20:41 +0000)]
Add frame work for additional dwarf sections. Comments will improve as code
is added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25410
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:07:30 +0000 (20:07 +0000)]
Test case for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25409
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:07:22 +0000 (20:07 +0000)]
VMCore support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25408
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:07:07 +0000 (20:07 +0000)]
Constant folding support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25407
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:06:55 +0000 (20:06 +0000)]
Lowerpacked and SCCP support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25406
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:06:42 +0000 (20:06 +0000)]
Support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25405
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:06:35 +0000 (20:06 +0000)]
Reader support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25404
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:06:25 +0000 (20:06 +0000)]
Lexer and parser support for the insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25403
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Tue, 17 Jan 2006 20:05:59 +0000 (20:05 +0000)]
Instruction and constant expression definitions for the insertelement
operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25402
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 19:47:13 +0000 (19:47 +0000)]
Bug fix: missing LegalizeOp() on newly created nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25401
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 19:21:01 +0000 (19:21 +0000)]
Suppress "no newline at end of file" warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25400
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 19:12:24 +0000 (19:12 +0000)]
Misc. errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jan 2006 18:27:17 +0000 (18:27 +0000)]
Clean up the FFS optimization code, and make it correctly create the appropriate
unsigned llvm.cttz.* intrinsic, fixing the 2005-05-11-Popcount-ffs-fls regression
last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25398
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 17:31:53 +0000 (17:31 +0000)]
Adding basic support for Dwarf line number debug information.
I promise to keep future commits smaller.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25396
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 17:29:20 +0000 (17:29 +0000)]
Adding UniqueVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25395
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 17 Jan 2006 17:01:34 +0000 (17:01 +0000)]
Regenerated the Lex and Yacc output files on Linux. It seems that our
Linux machines don't like the source code generated on MacOS X for some
reason.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25394
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 17 Jan 2006 16:29:58 +0000 (16:29 +0000)]
Reduce memory consumption and force (somewhat) access to entries via ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25393
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 07:36:41 +0000 (07:36 +0000)]
Emit a type matching check for ComplexPatterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25392
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 07:02:46 +0000 (07:02 +0000)]
Zero extending load from i1 to i8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jan 2006 06:24:01 +0000 (06:24 +0000)]
Ensure that the CFE always emits intrinsics in their unsigned version, not with signed operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25390
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 17 Jan 2006 05:13:22 +0000 (05:13 +0000)]
Visual Studio still has issues with being left out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25389
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Tue, 17 Jan 2006 03:09:48 +0000 (03:09 +0000)]
oops, this shouldn't have gotten in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25388
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 02:32:49 +0000 (02:32 +0000)]
SSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
expand it), so ask legalizer to expand i32 UINT_TO_FP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25386
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Tue, 17 Jan 2006 02:04:52 +0000 (02:04 +0000)]
use proper (82-bit) spills/fills when spilling FP regs, so that
divides don't get broken. this fixes obsequi, smg2000, and probably
a bunch of other stuff (tm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25385
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Tue, 17 Jan 2006 01:19:49 +0000 (01:19 +0000)]
fixing divides
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25383
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jan 2006 00:40:24 +0000 (00:40 +0000)]
Revert this, I didn't mean to commit it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25382
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 00:37:42 +0000 (00:37 +0000)]
Added a FIXME comment about why FST is currently flagged to fpGETRESULT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25381
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 00:32:38 +0000 (00:32 +0000)]
Yet another getTargetNode() variant. I promise one of these days I'll fix
tblgen so this is unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jan 2006 00:32:28 +0000 (00:32 +0000)]
Add support for programs with a null argv[0]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25379
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jan 2006 00:19:47 +0000 (00:19 +0000)]
Bug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
read a flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25378
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 16 Jan 2006 23:44:03 +0000 (23:44 +0000)]
Redundant inline keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25377
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 16 Jan 2006 23:29:43 +0000 (23:29 +0000)]
UniqueVector template provides a means of enumerating objects uniquely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25376
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 16 Jan 2006 23:26:53 +0000 (23:26 +0000)]
More typo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25375
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 16 Jan 2006 22:48:46 +0000 (22:48 +0000)]
Some typo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 22:38:59 +0000 (22:38 +0000)]
like bswap, the ct* intrinsics require unsigned operands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 22:34:14 +0000 (22:34 +0000)]
Consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25372
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 16 Jan 2006 21:41:39 +0000 (21:41 +0000)]
fix short immediate loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25371
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 16 Jan 2006 21:22:42 +0000 (21:22 +0000)]
this is fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25370
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 16 Jan 2006 21:22:38 +0000 (21:22 +0000)]
stack and rpcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25369
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 16 Jan 2006 21:21:29 +0000 (21:21 +0000)]
Fix FP_TO_INT**_IN_MEM lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25368
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jan 2006 21:14:01 +0000 (21:14 +0000)]
There is no llvm.bswap.i8, need at least 2 bytes to swap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25367
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jan 2006 21:12:35 +0000 (21:12 +0000)]
For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jan 2006 21:06:01 +0000 (21:06 +0000)]
For PR411:
This file makes the helper functions for auto-upgrade of llvm assembly and
bytecode more accessible. This is part of de-overloading of intrinsic
functions to support the flat symbol table (no type planes).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25365
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 16 Jan 2006 19:53:25 +0000 (19:53 +0000)]
Friendly names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 19:47:21 +0000 (19:47 +0000)]
fix a crash due to missing parens
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 17:58:54 +0000 (17:58 +0000)]
add notes from my *other* email acct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25362
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 17:53:00 +0000 (17:53 +0000)]
transfer some notes from my email to somewhere useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25361
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 16:34:39 +0000 (16:34 +0000)]
Fix these testcases :(
Apparently Andrew hasn't implemented ReadCycleCounter in the new isel and
renamed ornot to eqv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 16:31:40 +0000 (16:31 +0000)]
Add a couple very minor tweaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25359
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 16 Jan 2006 14:33:04 +0000 (14:33 +0000)]
fixing divides: FP should now be 100%, and integers are fine too
unless you try to div/mod 0 by anything, in which case you will
get some cute number, and not 0, which is bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25358
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 16 Jan 2006 08:07:10 +0000 (08:07 +0000)]
Constant fold ctpop/ctlz/cttz, and a couple other small cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25357
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 16 Jan 2006 07:59:13 +0000 (07:59 +0000)]
Expand case for 64b Legalize, even though no one should end up using this
(itanium supports bswap natively, alpha should custom lower it using the
VAX floating point swapload, ha ha).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25356
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 16 Jan 2006 07:57:00 +0000 (07:57 +0000)]
Add BSWAP stuff to intrinsic lowering for CBE & friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25355
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 16 Jan 2006 07:54:23 +0000 (07:54 +0000)]
Fix up 'adding an intrinsic' section a bit, first draft of 'adding a new
sdnode' section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25354
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 16 Jan 2006 06:33:38 +0000 (06:33 +0000)]
fix division! again!! pattern isel, prepare to die.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:40:00 +0000 (01:40 +0000)]
Silly Sparc is big endian. If we have to load args out of incoming stack slots
that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:06:43 +0000 (01:06 +0000)]
This pass has been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:06:00 +0000 (01:06 +0000)]
This pass has never worked correctly. Remove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:05:24 +0000 (01:05 +0000)]
Remove a never-working pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jan 2006 01:05:00 +0000 (01:05 +0000)]
PRE is no more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 22:22:01 +0000 (22:22 +0000)]
Make sure that bool,byte and short arguments are the right type when loaded
from memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:58:50 +0000 (21:58 +0000)]
Thanks to Daniel Berlin's ETForest fix, we can now use it again for the verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:48:36 +0000 (21:48 +0000)]
Initialize DFSnum's to -1, in case a node is not reachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 21:46:23 +0000 (21:46 +0000)]
add an assert, patch by Daniel Berlin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25343
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Sun, 15 Jan 2006 20:48:27 +0000 (20:48 +0000)]
Added spec for insertelement operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 20:00:51 +0000 (20:00 +0000)]
ET-Forest has issues with unreachable blocks. Temporarily disable verifiers use
of it until they are resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 19:15:46 +0000 (19:15 +0000)]
Disable a broken optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 18:58:59 +0000 (18:58 +0000)]
Disable two transformations that contribute to bus errors on SparcV8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25339
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 15 Jan 2006 10:05:20 +0000 (10:05 +0000)]
Added patterns for 8-bit multiply
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25338
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 15 Jan 2006 10:04:45 +0000 (10:04 +0000)]
Type inferencing bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25337
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 15 Jan 2006 09:45:23 +0000 (09:45 +0000)]
explain that r12 is the stack pointer reg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jan 2006 09:26:27 +0000 (09:26 +0000)]
Don't print a label for the first MBB in a function.
Compile this:
%_2E_str_8 = external global [75 x sbyte]
implementation ; Functions:
declare int %printf(sbyte*, ...)
void %test()
%tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) ) ; <int> [#uses=0]
unreachable
}
to this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
add %l0, %lo(_2E_str_8), %o0
call printf
nop
instead of this:
main_endif_2E_8:
save -96, %o6, %o6
sethi %hi(_2E_str_8), %l0
or %g0, %lo(_2E_str_8), %l1 ;; extra instruction
add %l1, %l0, %o0
call printf
nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25335
91177308-0d34-0410-b5e6-
96231b3b80d8