Chris Lattner
6b8800d6a6
Add a new testcase for an eliminable cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25451 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 07:39:20 +00:00
Chris Lattner
46030a6b0a
implement support for f32 arguments past the first 6 words
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25450 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 07:22:29 +00:00
Reid Spencer
25000bfd2e
This test passes now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25449 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 07:15:47 +00:00
Reid Spencer
e1e96c0820
1. Identify bytecode modules that have upgraded intrinsics by setting a
...
boolean flag if we read a function prototype that needs upgrading.
2. Don't upgrade the CallInst instruction until after its been inserted
into the basic block, and only if we know that we have seen an
upgraded intrinsic function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25448 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 07:02:16 +00:00
Reid Spencer
e559184d70
Don't forget about casting the result of an upgraded call to an intrinsic
...
in the case where it needs to cast back to a signed type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 07:00:29 +00:00
Reid Spencer
0fc0ab7148
1. Documentation upgrade.
...
2. Have UpgradeInstrinicCall return an Instruction* instead of a CallInst*
and return the needed CastInst* if the result of the upgraded call needs
to be casted back to a signed type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25446 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 06:59:26 +00:00
Reid Spencer
3e59546352
Add a flag to identify bytecode files that have intrinsic functions that
...
need to be upgraded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25445 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 06:57:58 +00:00
Evan Cheng
41b6dc8dbe
adc and sbb need an incoming flag to ensure it reads the carry flag
...
from add / sub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25444 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 06:53:20 +00:00
Chris Lattner
8312ab54cf
make this work for Reid, who renamed his CVS module dir :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25443 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 06:49:46 +00:00
Chris Lattner
6446b7fb5b
new testcase the autoupgrader in the bc reader fails to handle
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25442 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 06:15:34 +00:00
Reid Spencer
ff696cc1fc
Make get_suffix faster by using a switch on getTypeID rather than a series
...
of comparisons on the various type objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25441 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 05:37:27 +00:00
Evan Cheng
12f2274ba8
Another typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25440 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 04:54:52 +00:00
Chris Lattner
3cda14ff3e
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25439 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 02:09:38 +00:00
Evan Cheng
68b951a5e5
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
2006-01-19 01:56:29 +00:00
Evan Cheng
b4ad33c4ae
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
2006-01-19 01:55:45 +00:00
Evan Cheng
d9c45e9af9
Didn't mean to check that in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25436 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 01:52:56 +00:00
Evan Cheng
b7b5706340
A obvious typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25435 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-19 01:46:14 +00:00
Reid Spencer
e812fb230a
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
2006-01-19 01:21:04 +00:00
Reid Spencer
d615bd9013
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
2006-01-19 01:20:03 +00:00
Reid Spencer
4283ac7857
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
2006-01-19 01:18:29 +00:00
Reid Spencer
fd57ad787f
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
2006-01-19 01:17:06 +00:00
Chris Lattner
727552bb89
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
2006-01-19 00:46:54 +00:00
Chris Lattner
ee9e14cb8a
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
2006-01-19 00:40:39 +00:00
Andrew Lenharth
8ff318b7fb
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
2006-01-18 23:19:08 +00:00
Andrew Lenharth
1cdd5c6e11
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
2006-01-18 22:59:33 +00:00
Nate Begeman
a148d9811a
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
2006-01-18 22:35:16 +00:00
Chris Lattner
d12b2d7b5a
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
2006-01-18 21:50:14 +00:00
Chris Lattner
c4e8c9f318
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
2006-01-18 21:32:45 +00:00
Chris Lattner
bc38dbfd9b
Don't assert on 'select_cc SETUO'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25423 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-18 19:42:35 +00:00
Chris Lattner
c16257f053
fix out of date comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25422 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-18 19:37:44 +00:00
Chris Lattner
e44b2d16ee
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
2006-01-18 19:35:21 +00:00
Chris Lattner
97f8f8d8f2
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25420 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-18 19:16:07 +00:00
Chris Lattner
4090aee72e
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
2006-01-18 19:13:41 +00:00
Chris Lattner
a076787d7b
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
2006-01-18 19:13:11 +00:00
Jim Laskey
e719a7c40b
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
2006-01-18 16:54:26 +00:00
Evan Cheng
99fa0a102a
SRA shift amount must be in i8
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25416 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-18 09:26:46 +00:00
Evan Cheng
68e5d084f1
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
2006-01-18 08:08:38 +00:00
John Criswell
43da9c65f2
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
2006-01-17 22:01:57 +00:00
Evan Cheng
357c58efde
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
2006-01-17 21:58:21 +00:00
Jim Laskey
08878dac8f
Pastos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25412 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 21:39:39 +00:00
Chris Lattner
09fb7d4dad
fix a broken comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25411 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 21:31:18 +00:00
Jim Laskey
19ef4efa70
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
2006-01-17 20:41:40 +00:00
Robert Bocchino
f90a87a442
Test case for the insertelement operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25409 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 20:07:30 +00:00
Robert Bocchino
c152f9cd26
VMCore support for the insertelement operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 20:07:22 +00:00
Robert Bocchino
956fd7254f
Constant folding support for the insertelement operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25407 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 20:07:07 +00:00
Robert Bocchino
8fcf01ead0
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
2006-01-17 20:06:55 +00:00
Robert Bocchino
4eb2e3a6f4
Support for the insertelement operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25405 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 20:06:42 +00:00
Robert Bocchino
b1f240b8ef
Reader support for the insertelement operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 20:06:35 +00:00
Robert Bocchino
2def1b3e73
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
2006-01-17 20:06:25 +00:00
Robert Bocchino
f999344fa7
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
2006-01-17 20:05:59 +00:00