Commit Graph

1242 Commits

Author SHA1 Message Date
Chris Lattner 667a056e11 Add assertions that verify that the actual arguments to a call or invoke match
the prototype of the called function.

llvm-svn: 28070
2006-05-03 00:48:22 +00:00
Chris Lattner 28ead23d1c Remove a hack required by V9.
llvm-svn: 27931
2006-04-21 15:33:35 +00:00
Chris Lattner 0875d94567 Move these ctors out of line
llvm-svn: 27713
2006-04-14 22:20:32 +00:00
Reid Spencer ef56d92d6c Don't print out the install command for Intrinsics.gen unless VERBOSE mode.
llvm-svn: 27696
2006-04-14 06:32:31 +00:00
Reid Spencer 175d57c4bc Don't emit useless warning messages.
llvm-svn: 27617
2006-04-12 17:56:16 +00:00
Chris Lattner a93b4b5866 Add constant replacement for insertelement/vectorshuffle constant exprs
llvm-svn: 27532
2006-04-08 05:09:48 +00:00
Chris Lattner 38c4cb2f9e Use the isValidOperands helper instead of duplicating checking code
llvm-svn: 27524
2006-04-08 04:07:52 +00:00
Chris Lattner 54865b39ab Add methods to check insertelement/extractelement instructions for validity,
check validity when instructions are created.

llvm-svn: 27523
2006-04-08 04:05:48 +00:00
Chris Lattner bbe0a4248b Add shufflevector support, todo, implement better constant folding.
llvm-svn: 27510
2006-04-08 01:18:18 +00:00
Chris Lattner e4f9d7b23c Constant fold extractelement(zero, x) -> zero
llvm-svn: 27479
2006-04-07 04:44:06 +00:00
Andrew Lenharth 477169e36a Move this to lib/Analysis.
This reduces Core size, yay.

llvm-svn: 27468
2006-04-06 22:58:58 +00:00
Chris Lattner 7ee10dec05 vector casts never reinterpret bits
llvm-svn: 27354
2006-04-02 05:40:28 +00:00
Chris Lattner 6b3f475d23 Constant fold casts from things like <4 x int> -> <4 x uint>, likewise int<->fp.
llvm-svn: 27336
2006-04-02 01:38:28 +00:00
Chris Lattner e52f29b243 constant fold extractelement with undef operands.
llvm-svn: 27301
2006-03-31 18:31:40 +00:00
Jeff Cohen e45355218f Fix build breakage.
llvm-svn: 27292
2006-03-31 07:22:05 +00:00
Chris Lattner b37dfd631c Add a new method to verify intrinsic function prototypes.
llvm-svn: 27282
2006-03-31 04:46:47 +00:00
Jim Laskey 7092888bcc Bullet proof against undefined args produced by upgrading ols-style debug info.
llvm-svn: 27155
2006-03-26 22:46:27 +00:00
Chris Lattner 563c7022a5 Update dependencies to reflect split of the Intrinsics.td file
llvm-svn: 27144
2006-03-26 07:45:48 +00:00
Chris Lattner e8e7ac465d Teach BinaryOperator::createNot to work with packed integer types
llvm-svn: 27124
2006-03-25 21:54:21 +00:00
Jim Laskey b434464d1c Cast instruction not inserted into basic block.
llvm-svn: 27122
2006-03-25 18:40:47 +00:00
Chris Lattner 71b8c980da Implement Intrinsic::getName
llvm-svn: 27108
2006-03-25 06:32:47 +00:00
Jim Laskey dd3fa41f0f Fix indent.
llvm-svn: 27065
2006-03-24 10:08:23 +00:00
Jim Laskey 864e444749 Clean up some commentary.
llvm-svn: 27064
2006-03-24 10:00:56 +00:00
Jim Laskey b119990289 Add some more bulletproofing to auto upgrade of llvm.dbg intrinsics.
llvm-svn: 26996
2006-03-23 20:13:25 +00:00
Jim Laskey 0cf8ed61cc Simplify handling of llvm.dbg intrinsic operands to one spot.
llvm-svn: 26987
2006-03-23 18:05:12 +00:00
Jim Laskey 01bd749537 Change the argument types of llvm.dbg intrinsics.
llvm-svn: 26985
2006-03-23 18:03:20 +00:00
Reid Spencer 779c10818c Fix use of LEVEL.
llvm-svn: 26822
2006-03-17 07:39:44 +00:00
Reid Spencer ee4b4f55ee Two fixes:
1. Allow building of Intrinsics.gen to work for srcdir != objdir
2. Add a rule for installation of Intrinsics.gen.

llvm-svn: 26819
2006-03-17 06:27:06 +00:00
Chris Lattner 6995470323 Bugfix, unbreaking CodeGen/PowerPC/cttz.ll
llvm-svn: 26764
2006-03-14 19:49:57 +00:00
Chris Lattner 6d4a221d80 Fix an et-forest memory leak. Patch by Daniel Berlin.
llvm-svn: 26763
2006-03-14 19:41:45 +00:00
Jim Laskey cf0bdffe6d 1. Handle removal of all arguments for a morphed intrinsic.
2. Remove the declaration of llvm.dbg.declare.

llvm-svn: 26745
2006-03-14 02:00:35 +00:00
Reid Spencer 611f965820 Bring makefile back into compliance with standard by using
$(Echo) instead of @echo

llvm-svn: 26730
2006-03-13 17:57:31 +00:00
Jim Laskey acb6e34277 Handle the removal of the debug chain.
llvm-svn: 26729
2006-03-13 13:07:37 +00:00
Evan Cheng 2c5e530430 Doh!
llvm-svn: 26705
2006-03-11 00:13:10 +00:00
Evan Cheng 38280c0020 Added a parameter to control whether Constant::getStringValue() would chop
off the result string at the first null terminator.

llvm-svn: 26704
2006-03-10 23:52:03 +00:00
Chris Lattner 591693f3bf Use the autogenerated intrinsic verifier
llvm-svn: 26667
2006-03-09 22:06:04 +00:00
Chris Lattner ff4d4ee163 Use the function name matcher autogenerated from the .td file.
llvm-svn: 26664
2006-03-09 20:35:01 +00:00
Chris Lattner 285c95d7eb This rule also depends on tblgen
llvm-svn: 26662
2006-03-09 20:29:41 +00:00
Chris Lattner 213209a248 remove dbg_declare, it's not used yet.
llvm-svn: 26659
2006-03-09 20:02:42 +00:00
Chris Lattner ea0aa2868f silly case insensitive file systems...
llvm-svn: 26658
2006-03-09 19:55:06 +00:00
Chris Lattner 83e6e19936 Build intrinsics.gen from intrinsics.td
llvm-svn: 26657
2006-03-09 19:53:27 +00:00
Chris Lattner ab8d2ba046 autoupgrade memcpy/memmove/memset with signed counts.
CVS: ----------------------------------------------------------------------

llvm-svn: 26654
2006-03-09 18:42:10 +00:00
Chris Lattner 48a8e09ad0 add a new helper method.
llvm-svn: 26618
2006-03-08 18:39:13 +00:00
Jim Laskey 2698f0de7a Get rid of the multiple copies of getStringValue. Now a Constant:: method.
llvm-svn: 26616
2006-03-08 18:11:07 +00:00
Chris Lattner c2de4f3dc1 Unbreak autouprade of llvm.sqrt, simplify some code.
llvm-svn: 26506
2006-03-03 16:31:22 +00:00
Chris Lattner ad3c974a77 remove the read/write port/io intrinsics.
llvm-svn: 26479
2006-03-03 00:19:58 +00:00
Chris Lattner d124535de1 Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

Significantly refactor autoupgrading code, to handle the more complex case
(where we upgrade one argument in a function), and fix some bugs in it.

Testcase here: llvm/test/Regression/Bytecode/memcpy.ll

llvm-svn: 26474
2006-03-02 23:58:40 +00:00
Evan Cheng 5b19a80321 Back out my last check-in. Wrong place to fix it.
llvm-svn: 26462
2006-03-01 22:17:00 +00:00
Evan Cheng 302bdb586f AsmWriter should not print LLVM constant in comment. Assembler won't like
multi-line comments.

llvm-svn: 26461
2006-03-01 22:00:59 +00:00
Jim Laskey 6be3d8e0df Pretty print large struct constants.
llvm-svn: 26400
2006-02-27 10:33:53 +00:00