Commit Graph

15062 Commits

Author SHA1 Message Date
Nate Begeman
2a40841387 Initial checkin of regression test for generating the PowerPC rlwimi
instruction, which performs bitfield inserts.  All tests should compile
to one rlwimi instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17206 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 10:30:22 +00:00
Reid Spencer
714b52b9e6 First draft. More to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17205 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 08:48:59 +00:00
Reid Spencer
b1dd3dde03 Fix uninstall from rebuilding everything (wrong dependency)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17204 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 08:21:04 +00:00
Reid Spencer
746aa1a1c8 Move top level rules for tags and installing headers to Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 08:20:10 +00:00
Reid Spencer
e5487baa47 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 07:53:21 +00:00
Chris Lattner
236ca4467f Fix the previous bug the correct way. This fixes ptrdist/bc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 04:27:59 +00:00
Misha Brukman
cf1160b012 Fix grammar in comments to getSizeOf()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 03:18:30 +00:00
Alkis Evlogimenos
6edde961e2 Make this actually work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 03:02:16 +00:00
Alkis Evlogimenos
7be2a12065 Improve comments and wrap to 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 03:01:32 +00:00
Reid Spencer
83cbcb9250 Make the $(OBJDIR) go away on clean-local.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 02:26:09 +00:00
Alkis Evlogimenos
60ab140298 Add ConstantExpr::getSizeOf(Type*).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 01:41:10 +00:00
Misha Brukman
d4b4a99587 * 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17195 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 23:47:34 +00:00
Misha Brukman
40a55e1e29 Add BA, BL, and BLA opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 20:29:24 +00:00
Reid Spencer
3a561f5478 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 20:04:14 +00:00
Reid Spencer
d3f5e7e4ce Make clean quieter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 19:49:20 +00:00
Misha Brukman
a4df350ba1 * 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()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17190 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 18:28:01 +00:00
Reid Spencer
1118441d7a Fix nightly build by avoiding shared library construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17187 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 15:30:30 +00:00
Reid Spencer
c64b2b350d * 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17186 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 08:19:37 +00:00
Reid Spencer
dbf9409ef1 Remove the clean target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 08:01:27 +00:00
Reid Spencer
504b21ac2c 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 07:57:22 +00:00
Misha Brukman
bd7780bc60 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 06:08:38 +00:00
Misha Brukman
da8d96d1a1 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17182 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 06:05:49 +00:00
Misha Brukman
15f74b3f4f The value of the XO field for MFLR and MFCTR is 339, not 399
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 05:38:55 +00:00
Misha Brukman
bb48249414 Remove extraneous blank line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17180 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 04:59:22 +00:00
Chris Lattner
89e0f74094 Make VC happier, patch contributed by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 04:58:50 +00:00
Misha Brukman
3a060e5279 Align function arguments in function headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17178 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 04:58:32 +00:00
Chris Lattner
5fd2ab3518 Fix a bug that Brian brought to my attention. This corrects:
Assembler/2004-10-22-BCWriterUndefBug.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17177 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 03:10:23 +00:00
Chris Lattner
7450d81342 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17176 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 03:10:01 +00:00
Nate Begeman
31dfc52b81 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; }


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17175 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-23 00:50:23 +00:00
Misha Brukman
ec8430270a Use cleaner quoting and eliminate blank space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17174 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:35:57 +00:00
Reid Spencer
b8d5570e95 Clean up the output from this makefile so its not verbose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:24:39 +00:00
Reid Spencer
e53e397a96 Make sure that we don't set up a circular dependency if OBJDIR == SRCDIR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:06:30 +00:00
Reid Spencer
99a401ceb1 Remove double colon rule for gram.tab.h so it doesn't conflict with the
auto-generated dependency rule.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 23:05:46 +00:00
Misha Brukman
8567ccf6d0 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 22:18:27 +00:00
Misha Brukman
6b9ae58c52 Adjust rules for building .inc files due to Reid's changes of Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 22:16:24 +00:00
Reid Spencer
40a955ab05 We're not doing automake any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:23 +00:00
Reid Spencer
8c2c3152d6 Adjust to changes in Makefile.rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17167 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:02:08 +00:00
Reid Spencer
4d71b6611e Shorten the rules, speed it up, correct library contruction, add *.td rules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:01:56 +00:00
Reid Spencer
8fa2d383f5 Remove the unused SourceDir variable (use BUILD_SRC_DIR)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 21:01:44 +00:00
Reid Spencer
989d95197e One more file to remove now that we're not doing automake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 19:33:22 +00:00
Reid Spencer
4e073a871b Eliminate compilation warning on uninitialized variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17163 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 16:10:39 +00:00
Chris Lattner
e9ece2a746 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 06:43:28 +00:00
Chris Lattner
40e08082a0 New testcase. Check for the ability to promote a malloc whose initialzed state is checked by the program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17160 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 06:43:07 +00:00
Chris Lattner
9b9918246c Fix a bug Nate noticed, where we miscompiled a simple testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17157 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 04:53:16 +00:00
Reid Spencer
514b4b0a1f Remove automake support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17156 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:39:08 +00:00
Reid Spencer
cac731ecbe We won't use automake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Misha Brukman
9691a898c7 Remove debug code emitter from the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17151 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-21 03:07:38 +00:00
Alkis Evlogimenos
4f9a6c30a2 Make this compile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17150 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-21 02:44:16 +00:00
Misha Brukman
3070e2ff79 * 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17149 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-21 01:42:02 +00:00
Nate Begeman
0797d4905a Don't clear or sign extend bool->int. This fires a few dozen times on the test suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-20 21:55:41 +00:00