Commit Graph

15201 Commits

Author SHA1 Message Date
Misha Brukman 3415c77f59 Fix grammar (i.e.)
llvm-svn: 17343
2004-10-29 19:20:42 +00:00
Reid Spencer e6b944f2f5 Disable the build in the samples directory so that llvmc dependencies don't
mess up the build.

llvm-svn: 17342
2004-10-29 18:43:49 +00:00
Misha Brukman a8816d3fe2 The Alpha (tm) intrinsics aren't even being used
llvm-svn: 17341
2004-10-29 18:43:43 +00:00
Misha Brukman 8d8fc6529e The Alpha (tm) intrinsics have never been used anywhere
llvm-svn: 17340
2004-10-29 18:43:17 +00:00
Misha Brukman 8600a7ac84 LLEE execve() wrapper library has changed its name and location
llvm-svn: 17339
2004-10-29 18:36:51 +00:00
Brian Gaeke 9a51b8ca7c When emitting debug msgs for function stubs, don't truncate the
printed pointer value if sizeof(unsigned) != pointer size.  Instead,
use uintptr_t.

llvm-svn: 17338
2004-10-29 18:22:45 +00:00
Vikram S. Adve 089ade78fd Print P and [AR] files on update.
llvm-svn: 17337
2004-10-29 17:43:19 +00:00
Reid Spencer 8b091689db Make sure the LLVM_CONFIG_DIR environment variable is set so we don't get
error messages from the compiler.

llvm-svn: 17335
2004-10-29 06:42:38 +00:00
Reid Spencer da86a3778a Make the list of automatic Makefile* files updated explicit instead of
generally wildcarded.

llvm-svn: 17334
2004-10-29 04:47:33 +00:00
Misha Brukman ad279bfe07 * Add spaces between function names for readability
* Separate paragraphs, flush HTML text to left margin for ease of editing

llvm-svn: 17333
2004-10-29 04:33:19 +00:00
Chris Lattner 124ea873ca This line breaks FreeBSD and apparently isn't useful anymore.
llvm-svn: 17332
2004-10-29 03:46:38 +00:00
John Criswell 98b355b6b2 Commented out the _Alloc_traits specialization entirely, as it is only
supported by specific versions of GCC.

It is left in place in case anyone wants to updated it for GCC 3.4 or
re-use it for earlier versions of GCC where it works.

llvm-svn: 17324
2004-10-28 18:21:41 +00:00
John Criswell 158737a76c Only add the _Alloc_traits specialization in if we're compiling for
Linux and not compiling for Sparc.
This is still probably not correct, or portable, but it'll do for now.

llvm-svn: 17321
2004-10-28 17:31:46 +00:00
Reid Spencer 4b04c85125 Fix the dependency of lex.o on gram.tab.h
llvm-svn: 17320
2004-10-28 16:48:13 +00:00
John Criswell 033d215ccb Added the poolalloc module to the list of projects to configure, if present.
llvm-svn: 17319
2004-10-28 13:35:00 +00:00
Reid Spencer 9c7bfc96e0 Bug Fixes:
* Move rules that build directories earlier in the file so that they are
  always built before the things that depend on them. This enables a
  parallel "dist-check" target.
* Fix use of TOOLLINKOPTS and TOOLLINKOPTSB (thanks to Henrik Bach)
* Standardize the output - some scripts using plain echo instead of $(ECHO)

llvm-svn: 17318
2004-10-28 09:15:28 +00:00
Reid Spencer be6a4e9b7f Make parallel "install" and "uninstall" targets not step on itself.
llvm-svn: 17315
2004-10-28 07:57:28 +00:00
Alkis Evlogimenos 23e565484a Gep indices must be of int, uint, long or ulong type.
llvm-svn: 17313
2004-10-28 06:43:38 +00:00
Reid Spencer 8eb04a7713 Make sure the sources get distributed (use EXTRA_DIST)
Add the goof.st sample.

llvm-svn: 17312
2004-10-28 06:42:34 +00:00
Brian Gaeke 56dbc4ca15 Fix library names for sparc
llvm-svn: 17311
2004-10-28 06:39:10 +00:00
Reid Spencer c833eddfe6 Fix library name.
llvm-svn: 17307
2004-10-28 05:37:24 +00:00
Alkis Evlogimenos 6bbc57ec12 Fix library name.
llvm-svn: 17306
2004-10-28 05:36:48 +00:00
Reid Spencer 49cc2cf279 Fix library name.
llvm-svn: 17305
2004-10-28 05:32:01 +00:00
Reid Spencer 37d45f6934 Fix name of library
llvm-svn: 17304
2004-10-28 05:30:54 +00:00
Brian Gaeke ae050e0b65 Regenerated after fixing typo.
llvm-svn: 17303
2004-10-28 05:06:45 +00:00
Reid Spencer cae2d8a951 Make sure we test the right variable for the AC_DEFINE
llvm-svn: 17302
2004-10-28 05:04:20 +00:00
Brian Gaeke 591f5d6622 It's spelled IEEEFP
llvm-svn: 17301
2004-10-28 04:17:05 +00:00
Reid Spencer 47fcbef63e Use llvmc to compile the Stacker programs
llvm-svn: 17300
2004-10-28 04:08:05 +00:00
Reid Spencer 0ac18e0385 Add the samples directory to the build
llvm-svn: 17299
2004-10-28 04:07:54 +00:00
Reid Spencer f828c812bd Remove the FORCE token, rename VERSION to VERSION_TOK so it doesn't
conflict with configuration variables and #defines.

llvm-svn: 17298
2004-10-28 04:06:15 +00:00
Reid Spencer aec50b98e0 Implement linking.
llvm-svn: 17297
2004-10-28 04:05:06 +00:00
Reid Spencer 04b92192ec Eliminate the force flag, configuration item, and related support
llvm-svn: 17296
2004-10-28 04:04:38 +00:00
Reid Spencer ffe5f97f17 Pass -f to stkrc to ensure the output file is always written.
llvm-svn: 17295
2004-10-28 03:57:49 +00:00
Reid Spencer 1002e454cb Eliminate the -F option (for forcing output) .. not needed
Create GCC compatible -Wx, aliases for the existing -T options.

llvm-svn: 17294
2004-10-28 03:56:16 +00:00
Reid Spencer e8ee9b2432 Add llvm-ld to the subdirs to be built
llvm-svn: 17293
2004-10-28 03:53:02 +00:00
Reid Spencer 548e1c2a03 Convert to new library names.
llvm-svn: 17292
2004-10-28 03:50:43 +00:00
Reid Spencer 4bc9b0ff4a Get rid of drivel.
Ensure the lex/yacc output are specified as BUILT_SOURCES so they get
built first.

llvm-svn: 17290
2004-10-28 01:25:28 +00:00
Reid Spencer c9bbb35c6f Make sure that the yacc and lex output are specified as BUILT_SOURCES.
Correct the dependency of the Lexer.o file on the constructed
llvmAsmParser.h header file. It is not the Lexer.cpp file that depends on
the header, its the output of compiling Lexer.cpp, Lexer.o

llvm-svn: 17289
2004-10-28 00:43:24 +00:00
Reid Spencer b7f710ae7b Bug Fixes:
* Ensure that BUILT_SOURCES depends on OBJ_DIR/Makefile so that they do not
  get built before the Makefile is updated.
* Fix build script for yacc & lex files by stopping it from thwarting the
  dependencies on the file. If the .y file changes, it needs to be rebuilt.
  This also cleans up the problem with llvmAsmParser ALWAYS rebuilding its
  Yacc files just to throw them away because there's no change.

llvm-svn: 17288
2004-10-28 00:41:43 +00:00
Reid Spencer 34bb03c61b Update for library name change.
llvm-svn: 17287
2004-10-28 00:11:43 +00:00
Reid Spencer 57cbe39d1e Change Library Names Not To Conflict With Others When Installed
llvm-svn: 17286
2004-10-27 23:18:45 +00:00
Reid Spencer 9f337bf96f Add the HAVE_RAND48 define.
llvm-svn: 17285
2004-10-27 23:09:31 +00:00
Reid Spencer f9676539bb Changes to support rand48 tests
llvm-svn: 17284
2004-10-27 23:03:44 +00:00
Reid Spencer c8c272ffb1 Fix auto-reconfigure bug: make sure we actually reconfigure not just
regenerate the config.status script.

llvm-svn: 17283
2004-10-27 22:48:58 +00:00
Chris Lattner e721eb007c Add a couple of new features
llvm-svn: 17282
2004-10-27 16:28:17 +00:00
Chris Lattner 7dfc2d29ac Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++.  Patch contributed by Morten Ofstad!

llvm-svn: 17281
2004-10-27 16:14:51 +00:00
Chris Lattner cebf2bbe9e Give sumant credit too!
llvm-svn: 17280
2004-10-27 15:54:23 +00:00
Nate Begeman a2b117c68a Move destructor out of line to avoid vtable emission in every file that includes the header. Thanks to sabre.
llvm-svn: 17278
2004-10-27 06:00:53 +00:00
Chris Lattner 70c2039b39 Hrm, this code was severely botched. As it turns out, this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041018/019708.html

exposed ANOTHER latent bug in this xform, which caused Prolangs-C/bison to fill
the zion nightly tester disk up and make the tester barf.

This is obviously not a good thing, so lets fix this bug shall we? :)

llvm-svn: 17276
2004-10-27 05:57:15 +00:00
Nate Begeman c193790dbb Fix the build by eliminating some more dead code. That'll learn me not to listen to Reid
llvm-svn: 17275
2004-10-27 05:44:23 +00:00
Nate Begeman 5e8cce5313 Remove dead data member in MRegisterInfo class. Thanks sabre!
llvm-svn: 17274
2004-10-27 04:51:58 +00:00
Reid Spencer 94105c7b19 Get the *.inc files to depend on tblgen so if tblgen gets fixed, all the
*.inc files get regenerated.

llvm-svn: 17273
2004-10-27 04:34:35 +00:00
Chris Lattner 845afe9b20 Initialize with the correct constant type
llvm-svn: 17270
2004-10-27 03:55:24 +00:00
Reid Spencer d94bb33911 Make sure that Makefile.rules and Makefile.config.in are not candidates for
automatic makefile update.

llvm-svn: 17269
2004-10-26 23:10:00 +00:00
Reid Spencer 77a46d25a5 Cleanup/Fixes:
* Force preconditions to be met FIRST
* Fix dist-check dependency
* Add some variables to the printvars target
* Automatically update Makefile.* as well as just Makefile

llvm-svn: 17268
2004-10-26 22:26:33 +00:00
Reid Spencer 938aa3e4af * Make the libcrtend.a installation depend on the bytecode-libs directory
* Conform output to standard.

llvm-svn: 17267
2004-10-26 21:30:31 +00:00
Chris Lattner e43c9c2db2 Unless someone seriously objects, I don't think we really need this. Sorry
resistor :(

llvm-svn: 17265
2004-10-26 20:02:50 +00:00
Chris Lattner 6ee2c57128 Plug a memory leak in the asmparser. It turns out that we were leaking
the strings for basic block labels in some cases.  This amounted to about
120K of memory for namd, a medium sized program.

llvm-svn: 17262
2004-10-26 18:26:14 +00:00
Misha Brukman 75e5700227 Wrap comments at 80 cols
llvm-svn: 17261
2004-10-26 18:00:03 +00:00
Chris Lattner fda51a5933 add support for UndefValue
llvm-svn: 17260
2004-10-26 16:23:03 +00:00
Chris Lattner e9e73bd3b1 Fix header
llvm-svn: 17259
2004-10-26 16:19:57 +00:00
Misha Brukman 03f87d527d Use <tt> around "#include" and "std::endl"
llvm-svn: 17258
2004-10-26 16:18:43 +00:00
Misha Brukman 4f056d55d5 * DataTypesFix.h moved to AIXDataTypesFix.h
* Condition #inclusion of AIXDataTypes.h on the _AIX preprocessor symbol to
  prevent extra I/O on non-AIX systems.  Thus, no #ifdef in AIXDataTypes.h

llvm-svn: 17257
2004-10-26 16:15:18 +00:00
Misha Brukman d73c8428f1 Use <tt> around header names
llvm-svn: 17256
2004-10-26 16:07:46 +00:00
Misha Brukman 0c7e1420c1 * Thanks to Morten Ofstad for the Visual C++ compatibility fixes
* Added Paolo's email address

llvm-svn: 17255
2004-10-26 15:55:12 +00:00
Misha Brukman f2499137d7 * Fix spelling and grammar errors
* Close <p> tags properly
* Break up paragraphs with blank lines, clean up text alignment
* Delete unbalanced "

llvm-svn: 17254
2004-10-26 15:45:13 +00:00
Chris Lattner 4336b87f2c Move method bodies that depend on <algorithm> from MBB.h to MBB.cpp
llvm-svn: 17253
2004-10-26 15:43:42 +00:00
Chris Lattner 29f1999571 Remove the unused MachineBasicBlock2IndexFunctor class.
Move method bodies that depend on <algorithm> out of line to
MachineBasicBlock.cpp.  Patch contributed by Morten Ofstad!

llvm-svn: 17252
2004-10-26 15:41:13 +00:00
Chris Lattner c8b07dd339 Clean up the MachineBasicBlock.h file, percolating #includes into this file.
Patch contributed by Morten Ofstad

llvm-svn: 17251
2004-10-26 15:35:58 +00:00
Reid Spencer 8da1b5df59 * Implement the "dist-check" target that verifies the contents of a zipped
tarball.
* Fix bugs in the "dist" target (a precursor to dist-check).
* Correct the implementation of the "install" targets so that they ensure
  the installation directories are created before attmpting to install
  directories in them.
* Reduce the verbosity of the output of the makefile system
* Ensure output includes the configuration whenever libraries or tools are
  built, installed, or uninstalled.

llvm-svn: 17250
2004-10-26 07:09:33 +00:00
Reid Spencer 4a9b5ff536 Reduce the number of EXTRA_DIST files since Makefile.rules now handles the
autoconf directory automagically.

llvm-svn: 17249
2004-10-26 07:05:09 +00:00
Reid Spencer 7e8825fc62 Make sure the samples and test directories get distributed.
llvm-svn: 17248
2004-10-26 07:04:18 +00:00
Reid Spencer c6c87c1378 Make sure the include files get distributed.
llvm-svn: 17247
2004-10-26 07:03:39 +00:00
Reid Spencer 9b7a83838a Add the export symbols list files as extra distribution files.
llvm-svn: 17246
2004-10-26 07:02:58 +00:00
Nate Begeman 7fed324ffc Remove include of MRegisterInfo.h, since it is already included by
SkeletonGenRegisterInfo.h.inc

llvm-svn: 17245
2004-10-26 06:04:23 +00:00
Nate Begeman dd8f1d8b77 Remove file that is no longer used, and move include of MRegisterInfo.h
from PowerPCFrameInfo.h to PowerPCAsmPrinter.cpp where it is actually
needed.

llvm-svn: 17244
2004-10-26 06:02:38 +00:00
Nate Begeman f94bedc26a Remove method getRegClass from MRegisterInfo, as it is no longer used.
llvm-svn: 17243
2004-10-26 06:00:31 +00:00
Reid Spencer e7d8dff1f7 Really get mkinstalldirs to shut up about what its doing .. who cares?
llvm-svn: 17242
2004-10-26 05:49:38 +00:00
Chris Lattner 3939800123 Improve help output from llvm-db 'info' command. Patch contributed by
Michael McCracken!

llvm-svn: 17241
2004-10-26 05:46:17 +00:00
Nate Begeman 47b9d33f5b Eliminate usage of MRegisterInfo::getRegClass(physreg)
llvm-svn: 17240
2004-10-26 05:40:45 +00:00
Chris Lattner d7a7a3f42f Fix the interpreter crash that Michael McCracken found
llvm-svn: 17239
2004-10-26 05:35:14 +00:00
Chris Lattner b56cb729bd Reduce usage of MRegisterInfo::getRegClass
llvm-svn: 17238
2004-10-26 05:29:18 +00:00
Nate Begeman 4c6e1d694c Update to-do list
llvm-svn: 17235
2004-10-26 04:10:53 +00:00
Nate Begeman 26feb4f6d8 Fix treecc. Also fix a latent bug in emitBinaryConstOperation that would
allow and const, 0 to be incorrectly codegen'd into a rlwinm instruction.

llvm-svn: 17234
2004-10-26 03:48:25 +00:00
Reid Spencer aa4887b482 Add EXTRA_DIST for additional files to be distributed.
llvm-svn: 17233
2004-10-26 03:12:11 +00:00
Chris Lattner a47b641a85 Give a useful hint
llvm-svn: 17232
2004-10-26 02:58:10 +00:00
Chris Lattner bff6472b39 Bug fixed
llvm-svn: 17231
2004-10-25 22:13:02 +00:00
Chris Lattner ff43ef3cc5 Disable the JIT until it can sorta kinda work.
llvm-svn: 17230
2004-10-25 20:53:41 +00:00
Chris Lattner 024627bc94 add a link to the makefile guide, eliminate redundant link to coding stds
llvm-svn: 17226
2004-10-25 19:39:46 +00:00
Chris Lattner a555183507 Make a sentence easier to parse
llvm-svn: 17225
2004-10-25 19:37:46 +00:00
Chris Lattner 5b7c967b54 Fix spellos
llvm-svn: 17224
2004-10-25 19:28:03 +00:00
Chris Lattner 3fe79addf7 Remove template args that are the same as the default
llvm-svn: 17223
2004-10-25 19:09:41 +00:00
Chris Lattner 574fecb59e Remove a dead class. Thanks to Morten Ofstad for pointing this out.
llvm-svn: 17222
2004-10-25 19:07:43 +00:00
Chris Lattner 21c6c41dcc Remove dead assert
llvm-svn: 17221
2004-10-25 19:04:01 +00:00
Chris Lattner d3642d720c Patch to support MSVC, contributed by Morten Ofstad
llvm-svn: 17220
2004-10-25 18:47:10 +00:00
Chris Lattner 2e493d9e75 Patch to support MSVC, contributed by Morten Ofstad
llvm-svn: 17219
2004-10-25 18:46:05 +00:00
Chris Lattner d57638c4a7 Fix compatibility with MSVC, patch by Morten Ofstad
llvm-svn: 17218
2004-10-25 18:45:16 +00:00
Chris Lattner 6180881673 Do not use variable sized arrays in C++, they are non-portable. Patch
contributed by Morten Ofstad

llvm-svn: 17217
2004-10-25 18:44:14 +00:00
John Criswell 7eeed938bf Removed dead method, printPHICopiesForSuccessors().
llvm-svn: 17216
2004-10-25 18:41:50 +00:00
Chris Lattner 111c3e827e Patch to support MSVC better, contributed by Morten Ofstad
llvm-svn: 17215
2004-10-25 18:40:47 +00:00
Chris Lattner 43df507fef Patch to support MSVC, contributed by Morten Ofstad
llvm-svn: 17214
2004-10-25 18:40:08 +00:00
Chris Lattner 778963766c Patch to support MSVC correctly, contributed by Morten Ofstad!
llvm-svn: 17213
2004-10-25 18:38:05 +00:00
John Criswell a564e9e0ba Modified switch generation so that only the phi values associated with the
destination basic block are copied.

llvm-svn: 17212
2004-10-25 18:30:09 +00:00
Reid Spencer 100080cc38 New Makefile Features:
* "dist" target now builds tar.gz, tar.bz2, and zip files suitable for
  distribution. "dist" can only be run from $(BUILD_OBJ_ROOT) and implies
  a "check".

* made the preconditions not do a recursive make and ensured that they are
  executed sequentially.

* made the messages output by the makefile be prefixed with "llvm" and the
  make level (e.g. llvm[1]: ) in the same way that make does so that the
  messages are uniform and more readable.

* Fixed the tags target so that tags depends on TAGS which contains the
  rules to build a file named TAGS

* Implemented the EXTRA_DIST feature in a few directories to make sure it
  works.

llvm-svn: 17210
2004-10-25 08:27:37 +00:00
Reid Spencer 65cb53fe2f Teach mkinstalldirs how to shut up about making directories.
llvm-svn: 17209
2004-10-25 08:21:09 +00:00
Reid Spencer 8d0d005998 Add a check for the tar program.
llvm-svn: 17208
2004-10-25 08:18:47 +00:00
Nate Begeman 74b7c1f3e0 Implement more complete and correct codegen for bitfield inserts, as tested
by the recently committed rlwimi.ll test file.  Also commit initial code
for bitfield extract, although it is turned off until fully debugged.

llvm-svn: 17207
2004-10-24 10:33:30 +00:00
Nate Begeman 30e30c76ae Initial checkin of regression test for generating the PowerPC rlwimi
instruction, which performs bitfield inserts.  All tests should compile
to one rlwimi instruction.

llvm-svn: 17206
2004-10-24 10:30:22 +00:00
Reid Spencer 4fe72ed44f First draft. More to come.
llvm-svn: 17205
2004-10-24 08:48:59 +00:00
Reid Spencer dcba778871 Fix uninstall from rebuilding everything (wrong dependency)
llvm-svn: 17204
2004-10-24 08:21:04 +00:00
Reid Spencer 70969c005b Move top level rules for tags and installing headers to Makefile.rules
llvm-svn: 17203
2004-10-24 08:20:10 +00:00
Reid Spencer 12a3a0553d Implemented New Features:
* Fixed the install target to install files correctly
* Implemented the uninstall target to remove files from install dirs
* Isolated the top level targets (dist, dist-check, dist-clean, tags) so
  they only run/exist from the top level directory
* Put if/endif gaurds around potentially dangerous $(RM) commands.
* Implemented place-holder rules for distribution targets to just say that
  they aren't implemented yet.
* Implemented tags target in Makefile.rules so all projects can use it
* Made a pony for resistor

llvm-svn: 17202
2004-10-24 07:53:21 +00:00
Chris Lattner 3ff9289476 Fix the previous bug the correct way. This fixes ptrdist/bc
llvm-svn: 17201
2004-10-24 04:27:59 +00:00
Misha Brukman fa2f3010c1 Fix grammar in comments to getSizeOf()
llvm-svn: 17200
2004-10-24 03:18:30 +00:00
Alkis Evlogimenos ba28dc8c54 Make this actually work.
llvm-svn: 17199
2004-10-24 03:02:16 +00:00
Alkis Evlogimenos ed962e31e2 Improve comments and wrap to 80 columns.
llvm-svn: 17198
2004-10-24 03:01:32 +00:00
Reid Spencer e057811423 Make the $(OBJDIR) go away on clean-local.
llvm-svn: 17197
2004-10-24 02:26:09 +00:00
Alkis Evlogimenos da5de05b9b Add ConstantExpr::getSizeOf(Type*).
llvm-svn: 17196
2004-10-24 01:41:10 +00:00
Misha Brukman 9ce0da9e90 * Correctly handle the MovePCtoLR pseudo-instr with a bl to next instr
* Stop the confusion of using rv and Addr for global addresses: just use rv

llvm-svn: 17195
2004-10-23 23:47:34 +00:00
Misha Brukman f1f6270708 Add BA, BL, and BLA opcodes
llvm-svn: 17193
2004-10-23 20:29:24 +00:00
Reid Spencer 81cd049e8c Several Changes:
* Fix parallel build problem on generated dependency files
* Fix rule confusion between .a and .la libraries so that parallel builds
  don't get confused on who is building which .o and which library it is
  going into.
* Fix dependency inclusion to only include C/C++ dependency files because
  other types of sources won't have dependencies auto generated.
* Change "Source" to "SOURCES" for naming consistency
* Update parallel build rules for new recursive targets
* Implement EXPERIMENTAL_DIRS (failure allowed) feature
* Implement -local version of targets (all-local, clean-local, etc)
* Implement recursive targets in terms of their local counterparts
* Clarify names of some internal variables
* Move documentation to docs/MakefileGuide.html
* Clean up commentary

llvm-svn: 17192
2004-10-23 20:04:14 +00:00
Reid Spencer eebdfe5896 Make clean quieter.
llvm-svn: 17191
2004-10-23 19:49:20 +00:00
Misha Brukman 421c3c1ec4 * Do not emit IMPLICIT_DEF pseudo-instructions
* Convert register numbers from their opcode value to the real value, e.g.
  PPC::R1 => 1 and PPC::F1 => 1
* Add correct handling of loading of global values which are PC-relative --
  implement ha16() and lo16()

llvm-svn: 17190
2004-10-23 18:28:01 +00:00
Reid Spencer 83e5e2801f Fix nightly build by avoiding shared library construction.
llvm-svn: 17187
2004-10-23 15:30:30 +00:00
Reid Spencer 282e13c942 * Actually ignore build errors in optional directories
* Use LLVM_SRC_ROOT as the anchor for the Target.td file
* Use MFLAGS instead of MAKEFLAGS for recursive makes so we don't try
  to build a target "w" or "s" mysteriously.

llvm-svn: 17186
2004-10-23 08:19:37 +00:00
Reid Spencer 70b3e231a7 Remove the clean target.
llvm-svn: 17185
2004-10-23 08:01:27 +00:00
Reid Spencer 72ba9da52d First cut at the LLVM Makefile Guide. There's lots to correct and lots more
to write, but this is all my brain can muster for tonight.

llvm-svn: 17184
2004-10-23 07:57:22 +00:00
Misha Brukman 15b0fb5678 DForm_1, particularly used by store instructions, needs the immediate operand to
be listed second as that is how the instructions are usually created (and is the
correct asm syntax) so that it's assembled correctly from its constituents

llvm-svn: 17183
2004-10-23 06:08:38 +00:00
Misha Brukman e882d30aa1 Fix the SPR field for MTLR, MFLR, MTCTR, and MFCTR instructions.
The decimal value given in the manual (8 or 9) really needs to be multiplied by
a factor of 32 because of the group of 5 zero bits after the register code.

llvm-svn: 17182
2004-10-23 06:05:49 +00:00
Misha Brukman 55a3ccd035 The value of the XO field for MFLR and MFCTR is 339, not 399
llvm-svn: 17181
2004-10-23 05:38:55 +00:00
Misha Brukman 101d5d62d5 Remove extraneous blank line
llvm-svn: 17180
2004-10-23 04:59:22 +00:00
Chris Lattner 87a1061559 Make VC happier, patch contributed by Morten Ofstad
llvm-svn: 17179
2004-10-23 04:58:50 +00:00
Misha Brukman cea2e46821 Align function arguments in function headers
llvm-svn: 17178
2004-10-23 04:58:32 +00:00
Chris Lattner 46131bd16f Fix a bug that Brian brought to my attention. This corrects:
Assembler/2004-10-22-BCWriterUndefBug.llx

llvm-svn: 17177
2004-10-23 03:10:23 +00:00
Chris Lattner 8e97254431 New testcase
llvm-svn: 17176
2004-10-23 03:10:01 +00:00
Nate Begeman 6cadac8f43 Kill casts from integer types to unsigned byte, when the cast was only used
as the shift amount operand to a shift instruction.  This was causing us to
emit unnecessary clear operations for code such as:
int foo(int x) { return 1 << x; }

llvm-svn: 17175
2004-10-23 00:50:23 +00:00
Misha Brukman 37a7102ccb Use cleaner quoting and eliminate blank space
llvm-svn: 17174
2004-10-22 23:35:57 +00:00
Reid Spencer 4755617619 Clean up the output from this makefile so its not verbose.
llvm-svn: 17173
2004-10-22 23:24:39 +00:00
Reid Spencer 23a703706c Make sure that we don't set up a circular dependency if OBJDIR == SRCDIR
llvm-svn: 17172
2004-10-22 23:06:30 +00:00
Reid Spencer 49d6d1eb9f Remove double colon rule for gram.tab.h so it doesn't conflict with the
auto-generated dependency rule.

llvm-svn: 17171
2004-10-22 23:05:46 +00:00
Misha Brukman 0de42869bf Pull in Target.td using absolute path from source root instead of relative path;
this allows us to have sub-targets whose depth in the tree is not the same as it
is for the standard X86/PowerPC/Sparc.

llvm-svn: 17170
2004-10-22 22:18:27 +00:00
Misha Brukman e60a3fb063 Adjust rules for building .inc files due to Reid's changes of Makefile.rules
llvm-svn: 17169
2004-10-22 22:16:24 +00:00
Reid Spencer 5fd95ce095 We're not doing automake any more
llvm-svn: 17168
2004-10-22 21:02:23 +00:00
Reid Spencer 30d8baea8d Adjust to changes in Makefile.rules
llvm-svn: 17167
2004-10-22 21:02:08 +00:00
Reid Spencer f206bd761f Shorten the rules, speed it up, correct library contruction, add *.td rules
llvm-svn: 17166
2004-10-22 21:01:56 +00:00
Reid Spencer 357f771b1a Remove the unused SourceDir variable (use BUILD_SRC_DIR)
llvm-svn: 17165
2004-10-22 21:01:44 +00:00
Reid Spencer fa70bb9042 One more file to remove now that we're not doing automake.
llvm-svn: 17164
2004-10-22 19:33:22 +00:00
Reid Spencer fad217c847 Eliminate compilation warning on uninitialized variable.
llvm-svn: 17163
2004-10-22 16:10:39 +00:00
Chris Lattner fe9abf92de *** empty log message ***
llvm-svn: 17161
2004-10-22 06:43:28 +00:00
Chris Lattner 96502da2c0 New testcase. Check for the ability to promote a malloc whose initialzed state is checked by the program
llvm-svn: 17160
2004-10-22 06:43:07 +00:00
Chris Lattner 5c3c21e10a Fix a bug Nate noticed, where we miscompiled a simple testcase
llvm-svn: 17157
2004-10-22 04:53:16 +00:00
Reid Spencer 35572eb6f9 Remove automake support.
llvm-svn: 17156
2004-10-22 03:39:08 +00:00
Reid Spencer c1c320c335 We won't use automake
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Misha Brukman a6ecf271db Remove debug code emitter from the JIT
llvm-svn: 17151
2004-10-21 03:07:38 +00:00
Alkis Evlogimenos 757cc0e84c Make this compile.
llvm-svn: 17150
2004-10-21 02:44:16 +00:00
Misha Brukman 2beb63a65a * Added basic support for JITing functions, basic blocks, instruction encoding,
including registers, constants, and partial support for global addresses
* The JIT is disabled by default to allow building llvm-gcc, which wants to test
  running programs during configure

llvm-svn: 17149
2004-10-21 01:42:02 +00:00
Nate Begeman 86b5f8075c Don't clear or sign extend bool->int. This fires a few dozen times on the test suite
llvm-svn: 17147
2004-10-20 21:55:41 +00:00
Brian Gaeke c9d8b4d45c Explain what this pass does.
llvm-svn: 17146
2004-10-20 19:38:58 +00:00
John Criswell 85b380582e Small performance improvement in generated C code:
Instead of unconditionally copying all phi node values into temporaries for
all successor blocks, generate code that will determine what successor
block will be called and then copy only those phi node values needed by
the successor block.

This seems to cut down namd execution time from being 8% higher than GCC to
4% higher than GCC.

llvm-svn: 17144
2004-10-20 14:38:39 +00:00
Misha Brukman e2ada0413e * Add baseline structural JIT code, but disable the JIT to allow llvm-gcc builds
- Support added for functions, basic blocks, constant pool, constants,
    registers, and some basic support for globals, all untested
* Turn assert()s into abort()s so that unimplemented functions fail in release

llvm-svn: 17143
2004-10-19 19:49:42 +00:00
Chris Lattner 257b284038 Hrm, some people complain when the compiler cheerfully tells them what it's
doing... I guess they're right.

llvm-svn: 17142
2004-10-19 06:33:16 +00:00
Misha Brukman 648ad57b85 Fix some grammar
llvm-svn: 17141
2004-10-19 05:55:54 +00:00
Misha Brukman 65af14766f If we're going to make the braces of functions line up for ease of readability
and aesthetic reasons, might as well finish the job

llvm-svn: 17140
2004-10-19 05:50:34 +00:00
Misha Brukman 471400c09b Remove unnecessary spaces in function signature
llvm-svn: 17139
2004-10-19 05:49:46 +00:00
Brian Gaeke f3499acc16 Simplify mapping info generation. In particular, the LLVM-to-MachineInstr map
is no longer emitted, and we do not reference any MachineCodeForInstruction
information.

llvm-svn: 17138
2004-10-19 05:15:21 +00:00
Misha Brukman fc62cd1a85 * Fit constructor initializer on a single line
* Delete blank chars at end of line to fit into 80 cols

llvm-svn: 17137
2004-10-19 00:29:16 +00:00
Reid Spencer 6a11a75f31 Initial automake generated Makefile template
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Misha Brukman 9cba8b39be Move code to redefine INT64_{MIN,MAX} on AIX/PowerPC to a separate header,
because #undef becomes commented out in DataTypes.h.in due to autoheader

llvm-svn: 17135
2004-10-18 22:14:48 +00:00
Nate Begeman b18121e6a9 Initial implementation of the strength reduction for GEP instructions in
loops.  This optimization is not turned on by default yet, but may be run
with the opt tool's -loop-reduce flag.  There are many FIXMEs listed in the
code that will make it far more applicable to a wide range of code, but you
have to start somewhere :)

This limited version currently triggers on the following tests in the
MultiSource directory:
pcompress2: 7 times
cfrac: 5 times
anagram: 2 times
ks: 6 times
yacr2: 2 times

llvm-svn: 17134
2004-10-18 21:08:22 +00:00
Misha Brukman 947cd4569f * AIX on Power defines INT64_MIN and INT64_MAX in ways that annoy GCC, so
special-case those definitions
* Add comments in #ifdef/#else/#endif clauses for ease of reading

llvm-svn: 17132
2004-10-18 18:35:21 +00:00
Misha Brukman 22cf52374e AIX does not have mkdtemp() so emulate its behavior using mktemp() and mkdir()
llvm-svn: 17131
2004-10-18 17:39:45 +00:00
Chris Lattner c1f91b5e11 Fix miscompilations in the SparcV9 backend that were induced by this patch:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html

llvm-svn: 17130
2004-10-18 17:19:20 +00:00
Chris Lattner fbc070bfdc Improve compatibility with VC++, patch contributed by Morten Ofstad!
llvm-svn: 17126
2004-10-18 15:54:17 +00:00
Chris Lattner 88a8a329c3 Get this file compiling with VC++, patch contributed by Morten Ofstad. Thanks Morten!
llvm-svn: 17125
2004-10-18 15:43:46 +00:00
Reid Spencer 69274ad96a Declare a function in the correct namespace.
Patch contributed by Morten Ofstad. Thanks Morten!

llvm-svn: 17124
2004-10-18 14:43:45 +00:00
Reid Spencer ce0783318b Correction to allow compilation with Visual C++.
Patch contributed by Morten Ofstad. Thanks Morten!

llvm-svn: 17123
2004-10-18 14:38:48 +00:00
Chris Lattner 5edb2f32d0 Simplify code by deleting instructions that preceed unreachable instructions.
Simplify code by simplifying terminators that branch to blocks that start
with an unreachable instruction.

llvm-svn: 17116
2004-10-18 04:07:22 +00:00
Chris Lattner 033e156b54 New testcase
llvm-svn: 17115
2004-10-18 04:06:41 +00:00
Reid Spencer 1be07bb526 Actually link all the analysis passes and their dependencies.
llvm-svn: 17114
2004-10-18 03:32:12 +00:00
Reid Spencer e5068ed336 Remove extra comma.
llvm-svn: 17113
2004-10-18 03:26:21 +00:00
Reid Spencer 2097b94c8b Actually link in all the analysis passes.
llvm-svn: 17112
2004-10-18 03:22:48 +00:00
Chris Lattner a67dd32004 Turn store -> null/undef into the LLVM unreachable instruction! This simple
change hacks off 10K of bytecode from perlbmk (.5%) even though the front-end
is not generating them yet and we are not optimizing the resultant code.
This isn't too bad.

llvm-svn: 17111
2004-10-18 03:00:50 +00:00
Chris Lattner 8ba9ec9bbb Turn things with obviously undefined semantics into 'store -> null'
llvm-svn: 17110
2004-10-18 02:59:09 +00:00
Chris Lattner 3b92f17165 My friend the invoke instruction does not dominate all basic blocks if it
occurs in the entry node of a function

llvm-svn: 17109
2004-10-18 01:48:31 +00:00
Chris Lattner 34ae670706 Fix a bug that occurs when the constant value is the result of an invoke. In
particular, invoke ret values are only live in the normal dest of the invoke
not in the unwind dest.

llvm-svn: 17108
2004-10-18 01:21:17 +00:00
Chris Lattner 53058663aa Print a semicolon for the unreacahble instruction. This fixes problems
where C requires semicolons in some cases to indicate null statements.

llvm-svn: 17107
2004-10-17 23:49:11 +00:00
Chris Lattner 6a792feb02 Getting ADCE to interact well with unreachable instructions seems like a nontrivial
exercise that I'm not interested in tackling right now.  Just punt and treat them
like unwind's.

This 'fixes' test/Regression/Transforms/ADCE/unreachable-function.ll

llvm-svn: 17106
2004-10-17 23:45:06 +00:00
Chris Lattner 61011accfd New testcase that ADCE shouldn't crash on
llvm-svn: 17105
2004-10-17 23:44:02 +00:00
Chris Lattner 6e79e55aea Fix Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
If a function had no return instruction in it, and the result of the inlined
call instruction was used, we would crash.

llvm-svn: 17104
2004-10-17 23:21:07 +00:00
Chris Lattner 5f8becb224 New testcase that crashes the inliner
llvm-svn: 17103
2004-10-17 23:20:29 +00:00
Nate Begeman e5e5b37b79 Pass -single_module option to gcc when linking dynamic libraries for use with bugpoint, so that we can bugpoint multiple .cp files
llvm-svn: 17102
2004-10-17 23:03:32 +00:00
Nate Begeman 844186b8b4 Generate correct stubs for weak-linked symbols
llvm-svn: 17101
2004-10-17 23:01:34 +00:00
Chris Lattner f60137501f fold gep undef, ... -> undef
This comes up many times in perlbmk and probably others.

llvm-svn: 17100
2004-10-17 21:54:55 +00:00
Chris Lattner 107c15c33d Remove printout, realize that instructions in the entry block dominate all
other blocks.

llvm-svn: 17099
2004-10-17 21:31:34 +00:00
Chris Lattner 215c7ebaa6 When inserting PHI nodes, don't insert any phi nodes that are obviously
unneccesary.  This allows us to delete several hundred phi nodes of the
form PHI(x,x,x,undef) from 253.perlbmk and probably other programs as well.

This implements Mem2Reg/UndefValuesMerge.ll

llvm-svn: 17098
2004-10-17 21:25:56 +00:00
Chris Lattner d047673192 New testcase, no PHI should be inserted.
llvm-svn: 17097
2004-10-17 21:25:32 +00:00
Chris Lattner 96db59e48a Enhance hasConstantValue to ignore undef values in phi nodes. This allows it
to think that PHI[4, undef] == 4.

llvm-svn: 17096
2004-10-17 21:23:26 +00:00
Chris Lattner e29d634a94 hasConstantValue will soon return instructions that don't dominate the PHI node,
so prepare for this.

llvm-svn: 17095
2004-10-17 21:22:38 +00:00
Chris Lattner 621c413a1b The first hunk corrects a bug when printing undef null values. We would print
0->field, which is illegal.  Now we print ((foo*)0)->field.

The second hunk is an optimization to not print undefined phi values.

llvm-svn: 17094
2004-10-17 17:48:59 +00:00
Chris Lattner 068555314b Don't print stuff out from the code generator. This broke the JIT horribly
last night. :)  bork!

llvm-svn: 17093
2004-10-17 17:40:50 +00:00