15091 Commits

Author SHA1 Message Date
Reid Spencer
4946a660b3 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
a4de956f05 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
75772beb3b Fix the previous bug the correct way. This fixes ptrdist/bc
llvm-svn: 17201
2004-10-24 04:27:59 +00:00
Misha Brukman
dd92de83ca Fix grammar in comments to getSizeOf()
llvm-svn: 17200
2004-10-24 03:18:30 +00:00
Alkis Evlogimenos
4c30220f3a Make this actually work.
llvm-svn: 17199
2004-10-24 03:02:16 +00:00
Alkis Evlogimenos
75aa7bdf21 Improve comments and wrap to 80 columns.
llvm-svn: 17198
2004-10-24 03:01:32 +00:00
Reid Spencer
1c94f475a2 Make the $(OBJDIR) go away on clean-local.
llvm-svn: 17197
2004-10-24 02:26:09 +00:00
Alkis Evlogimenos
a893aad8fb Add ConstantExpr::getSizeOf(Type*).
llvm-svn: 17196
2004-10-24 01:41:10 +00:00
Misha Brukman
f8bd6fc901 * 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
58d9e43fa1 Add BA, BL, and BLA opcodes
llvm-svn: 17193
2004-10-23 20:29:24 +00:00
Reid Spencer
187e36960b 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
242c69bb0c Make clean quieter.
llvm-svn: 17191
2004-10-23 19:49:20 +00:00
Misha Brukman
0342392149 * 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
529cfe7c90 Fix nightly build by avoiding shared library construction.
llvm-svn: 17187
2004-10-23 15:30:30 +00:00
Reid Spencer
5c0629e0bb * 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
957e5fcd71 Remove the clean target.
llvm-svn: 17185
2004-10-23 08:01:27 +00:00
Reid Spencer
8a336ec771 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
bd6a01c3ef 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
e4ae05e099 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
5cea06807d 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
39d23c81d4 Remove extraneous blank line
llvm-svn: 17180
2004-10-23 04:59:22 +00:00
Chris Lattner
0566f4f4ce Make VC happier, patch contributed by Morten Ofstad
llvm-svn: 17179
2004-10-23 04:58:50 +00:00
Misha Brukman
c660c6c514 Align function arguments in function headers
llvm-svn: 17178
2004-10-23 04:58:32 +00:00
Chris Lattner
9595df9f4e 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
8334a398ed New testcase
llvm-svn: 17176
2004-10-23 03:10:01 +00:00
Nate Begeman
91ef127999 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
cfd8a7eb53 Use cleaner quoting and eliminate blank space
llvm-svn: 17174
2004-10-22 23:35:57 +00:00
Reid Spencer
4e31ccbe2e Clean up the output from this makefile so its not verbose.
llvm-svn: 17173
2004-10-22 23:24:39 +00:00
Reid Spencer
09a89bb3a7 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
101bcc348a 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
ffc5ff3ca9 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
2493cb2a2a 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
5574857063 We're not doing automake any more
llvm-svn: 17168
2004-10-22 21:02:23 +00:00
Reid Spencer
019621a1ea Adjust to changes in Makefile.rules
llvm-svn: 17167
2004-10-22 21:02:08 +00:00
Reid Spencer
217a872cea 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
6d2478ad74 Remove the unused SourceDir variable (use BUILD_SRC_DIR)
llvm-svn: 17165
2004-10-22 21:01:44 +00:00
Reid Spencer
92dcb47425 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
9f6f128630 Eliminate compilation warning on uninitialized variable.
llvm-svn: 17163
2004-10-22 16:10:39 +00:00
Chris Lattner
f0e2ce2279 *** empty log message ***
llvm-svn: 17161
2004-10-22 06:43:28 +00:00
Chris Lattner
8079adb986 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
6321852143 Fix a bug Nate noticed, where we miscompiled a simple testcase
llvm-svn: 17157
2004-10-22 04:53:16 +00:00
Reid Spencer
b95d647ef4 Remove automake support.
llvm-svn: 17156
2004-10-22 03:39:08 +00:00
Reid Spencer
e48ba34fd4 We won't use automake
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Misha Brukman
66a092f3df Remove debug code emitter from the JIT
llvm-svn: 17151
2004-10-21 03:07:38 +00:00
Alkis Evlogimenos
67449982b8 Make this compile.
llvm-svn: 17150
2004-10-21 02:44:16 +00:00
Misha Brukman
9514a75e36 * 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
d7cbf1d28e 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
71ff3efdd5 Explain what this pass does.
llvm-svn: 17146
2004-10-20 19:38:58 +00:00
John Criswell
0ba9295e3c 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
9113553178 * 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