Commit Graph

11468 Commits

Author SHA1 Message Date
Chris Lattner 33fd702590 Update getelementptr instruction description
llvm-svn: 12654
2004-04-05 01:30:49 +00:00
Chris Lattner 69193f93b6 Support getelementptr instructions which use uint's to index into structure
types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.

llvm-svn: 12653
2004-04-05 01:30:19 +00:00
Chris Lattner fd9fbe187d Support getelementptr instructions which use uint's to index into structure
types and can have arbitrary 32- and 64-bit integer types indexing into
sequential types.

Auto-upgrade .ll files that use ubytes to index into structures to use uint's.

llvm-svn: 12652
2004-04-05 01:30:04 +00:00
Chris Lattner 15701e84d1 Implement support for a new LLVM 1.3 bytecode format, which uses uint's
to index into structure types and allows arbitrary 32- and 64-bit integer
types to index into sequential types.

llvm-svn: 12651
2004-04-05 01:27:26 +00:00
Chris Lattner 60cf133a8e Be more restrictive with the index types we allow for sequential types
llvm-svn: 12650
2004-04-05 01:25:21 +00:00
Chris Lattner e916f16dbb PR305 is now fixed
llvm-svn: 12649
2004-04-05 00:40:55 +00:00
Chris Lattner dd28474610 Add ConstantExpr::get(Sign|Zero)Extend methods
llvm-svn: 12648
2004-04-04 23:20:30 +00:00
Chris Lattner dfcf8e34cf In the perhaps not-to-distant future, we might support gep instructions that
have non-long indices for sequential types.  In order to avoid trying to figure
out how the v9 backend works, we'll just hack it in the preselection pass.

llvm-svn: 12647
2004-04-04 20:44:05 +00:00
Chris Lattner ca76d11a81 Adjust to new interface
llvm-svn: 12646
2004-04-04 19:47:06 +00:00
Chris Lattner 5453b2f376 Support iteration over constant instructions
llvm-svn: 12645
2004-04-04 19:46:54 +00:00
Chris Lattner 092d260fc1 Adjust to new gep_type_iterator prototypes.
llvm-svn: 12644
2004-04-04 17:30:06 +00:00
Chris Lattner bc8ba73cf1 Remove a bunch of cruft that was used to be backwards compatible with the last
prerelease format for LLVM bytecode files.  Now we only are compatible with
LLVM 1.0+.

llvm-svn: 12643
2004-04-03 23:43:42 +00:00
Chris Lattner 476f71e30b Allow for use of arbitrary iterator types...
llvm-svn: 12642
2004-04-03 23:29:11 +00:00
Chris Lattner 8ed3c8aa13 Implement test/Regression/Transforms/GCSE/undefined_load.ll
llvm-svn: 12641
2004-04-03 00:45:16 +00:00
Chris Lattner db033fa425 New testcase
llvm-svn: 12640
2004-04-03 00:44:56 +00:00
Chris Lattner 0defaa1cbc Add a break in the default case
llvm-svn: 12639
2004-04-03 00:43:03 +00:00
Brian Gaeke 5ade501501 Add autoconf support for isStandardOutAConsole ().
llvm-svn: 12638
2004-04-02 21:26:04 +00:00
Brian Gaeke 0d372ee696 Regenerated using autoheader-2.57.
llvm-svn: 12637
2004-04-02 21:26:03 +00:00
Brian Gaeke 8bdbb3d7eb Regenerated using autoconf-2.57.
llvm-svn: 12636
2004-04-02 21:26:02 +00:00
Brian Gaeke c6dba95bbc check for isatty function
llvm-svn: 12635
2004-04-02 21:06:44 +00:00
Chris Lattner 9dcd639e5c Remove obsolete analyses
llvm-svn: 12634
2004-04-02 20:56:33 +00:00
Chris Lattner 6748cca268 Remove obsolete files
llvm-svn: 12633
2004-04-02 20:56:24 +00:00
Brian Gaeke d0bdad38f3 Add support for many of the MRegisterInfo callbacks.
Eliminating call-frame pseudo instrs and frame indices are still stubs.
Flesh out the emitPrologue method based on better ABI knowledge.

llvm-svn: 12632
2004-04-02 20:53:37 +00:00
Brian Gaeke d4869e4107 Add load, store, and NOP instructions.
Fix up comments.

llvm-svn: 12631
2004-04-02 20:53:37 +00:00
Brian Gaeke b65254a34d Add support for printing pc-relative displacements of functions (as used in
the CALL instruction).

llvm-svn: 12630
2004-04-02 20:53:35 +00:00
Brian Gaeke 2fd46b6e43 Add support for call instructions (0-ary only for now).
llvm-svn: 12629
2004-04-02 20:53:33 +00:00
Chris Lattner 6f29c89597 cleanup some long-dead code
llvm-svn: 12628
2004-04-02 20:46:26 +00:00
Chris Lattner d4f122044a Ignore configure produced files
llvm-svn: 12627
2004-04-02 20:34:30 +00:00
Chris Lattner 64cdd1ef55 Tweak libraries for scev changes
llvm-svn: 12625
2004-04-02 20:32:46 +00:00
Chris Lattner d8d803adb9 new testcase
llvm-svn: 12624
2004-04-02 20:27:47 +00:00
Chris Lattner 0916921332 Comment out debugging printouts
llvm-svn: 12623
2004-04-02 20:26:46 +00:00
Chris Lattner 76378746c5 New testcases for the indvars pass
llvm-svn: 12622
2004-04-02 20:26:04 +00:00
Chris Lattner 2c416ae11f Tweak testcase to work with new indvars pass
llvm-svn: 12621
2004-04-02 20:25:26 +00:00
Chris Lattner e61b67d7d5 Rewrite the indvars pass to use the ScalarEvolution analysis.
This also implements some new features for the indvars pass, including
linear function test replacement, exit value substitution, and it works with
a much more general class of induction variables and loops.

llvm-svn: 12620
2004-04-02 20:24:31 +00:00
Chris Lattner d934c70cf8 Add a new analysis
llvm-svn: 12619
2004-04-02 20:23:17 +00:00
Chris Lattner eed034bcd3 Fix the obvious bug in my previous checkin
llvm-svn: 12618
2004-04-02 18:15:10 +00:00
Chris Lattner 9f0db32625 Implement Transforms/SimplifyCFG/return-merge.ll
This actually causes us to turn code like:

  return C ? A : B;

into a select instruction.

llvm-svn: 12617
2004-04-02 18:13:43 +00:00
Chris Lattner 99c9b9c02f New testcase
llvm-svn: 12616
2004-04-02 18:12:49 +00:00
Alkis Evlogimenos d64e904e27 Clean up code a bit.
llvm-svn: 12615
2004-04-02 18:11:32 +00:00
Brian Gaeke 2845936a34 Only strip symbols if emitting bytecode to the assembly file.
Move lowerselect pass to come after preselection.  Move machine
code construction and stack slots pass to come right before instruction
selection. This is to help fix perlbmk.

Update comments.

Make the sequence of passes in addPassesToJITCompile look more like
the sequence of passes in addPassesToEmitAssembly, including support
for -print-machineinstrs.

llvm-svn: 12614
2004-04-02 17:52:40 +00:00
Brian Gaeke cc24411c0a Add support for constant select expressions. Clarify the assertion failure msg.
llvm-svn: 12613
2004-04-02 17:52:29 +00:00
Chris Lattner 3838243d04 Minor speedup
llvm-svn: 12612
2004-04-02 16:28:32 +00:00
Alkis Evlogimenos fe66caa9a0 Fix type in comments
llvm-svn: 12611
2004-04-02 16:02:50 +00:00
Alkis Evlogimenos 5fc4772d5e Fix type in instruction builder instantiation
llvm-svn: 12610
2004-04-02 15:51:03 +00:00
Chris Lattner a45a216ff6 Make the verifier API more complete and useful.
Patch contributed by Reid Spencer

llvm-svn: 12609
2004-04-02 15:45:08 +00:00
Chris Lattner b753dd1cb4 Make the verifier API more complete and useful
llvm-svn: 12608
2004-04-02 15:44:33 +00:00
Alkis Evlogimenos d186ed02e4 Add more ADC and SBB variants
llvm-svn: 12607
2004-04-02 07:11:10 +00:00
Chris Lattner bcf2623cab minor formatting change
llvm-svn: 12606
2004-04-02 06:32:45 +00:00
Chris Lattner a413b08580 Fix two pretty serious bugs:
1. Each time the loop extractor extracted a loop, we would leak a module.
  2. When we extracted a loop, we didn't add the new function to the list of
     miscompiled functions.  Thus if the bug was in a loop nest and we
     extracted it, we could actually *LOSE THE BUG*, which is very bad.

With these patches, bugpoint has successfully found a bug for me in a function
with several nested loops, and cut it down to just one of them. :) :)

llvm-svn: 12605
2004-04-02 06:32:17 +00:00
Chris Lattner af67dac7f4 Fix a fairly nasty bug that prevented bugpoint from working quite right when
hacking on programs with two functions that have the same name.

llvm-svn: 12604
2004-04-02 06:30:33 +00:00