Commit Graph

22244 Commits

Author SHA1 Message Date
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
Evan Cheng
433f8acefb 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
2006-01-17 19:47:13 +00:00
Evan Cheng
7715fba9b1 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
2006-01-17 19:21:01 +00:00
Jim Laskey
0cbd242e33 Misc. errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25399 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 19:12:24 +00:00
Chris Lattner
f91e97ae81 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
2006-01-17 18:27:17 +00:00
Jim Laskey
063e765345 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
2006-01-17 17:31:53 +00:00
Jim Laskey
08a0464763 Adding UniqueVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 17:29:20 +00:00
John Criswell
d788124317 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
2006-01-17 17:01:34 +00:00
Jim Laskey
e3150024b4 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
2006-01-17 16:29:58 +00:00
Evan Cheng
57c517d30c Emit a type matching check for ComplexPatterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25392 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 07:36:41 +00:00
Evan Cheng
e5d9343377 Zero extending load from i1 to i8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25391 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 07:02:46 +00:00
Chris Lattner
478cc13bdb 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
2006-01-17 06:24:01 +00:00
Jeff Cohen
e63629071d 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
2006-01-17 05:13:22 +00:00
Duraid Madina
a2610934a0 oops, this shouldn't have gotten in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25388 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 03:09:48 +00:00
Evan Cheng
6892f28e99 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
2006-01-17 02:32:49 +00:00
Duraid Madina
362071d7d4 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
2006-01-17 02:04:52 +00:00
Duraid Madina
ae6dcddcfe fixing divides
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25383 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 01:19:49 +00:00
Chris Lattner
4df8665bf9 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
2006-01-17 00:40:24 +00:00
Evan Cheng
2059f884aa 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
2006-01-17 00:37:42 +00:00
Evan Cheng
4e4937836e 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
2006-01-17 00:32:38 +00:00
Chris Lattner
79959d21c7 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
2006-01-17 00:32:28 +00:00
Evan Cheng
42ef0bc6fb 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
2006-01-17 00:19:47 +00:00
Jim Laskey
67218e9f27 Redundant inline keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25377 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 23:44:03 +00:00
Jim Laskey
54c3319022 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
2006-01-16 23:29:43 +00:00
Evan Cheng
b5d0b0bae5 More typo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25375 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 23:26:53 +00:00
Evan Cheng
8a3f4c75fa Some typo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-16 22:48:46 +00:00