Chris Lattner
24bba4d237
When merging to alias sets, if they are both must alias, the result is not
...
a must alias set unless all of the pointers in the resultant set are must
aliased together.
llvm-svn: 18275
2004-11-27 18:37:42 +00:00
Chris Lattner
3e511dd739
Change interface to this method a bit
...
llvm-svn: 18274
2004-11-27 18:37:04 +00:00
Chris Lattner
14f3cdc227
Implement Regression/Transforms/InstCombine/getelementptr_cast.ll, which
...
occurs many times in crafty
llvm-svn: 18273
2004-11-27 17:55:46 +00:00
Chris Lattner
7c4026ae24
New testcase
...
llvm-svn: 18272
2004-11-27 17:55:20 +00:00
Reid Spencer
a7c28bcd6d
Don't depend on grep or sed to be portable at all. Just compare against
...
static test files.
llvm-svn: 18271
2004-11-27 06:44:10 +00:00
Reid Spencer
79d941f784
Put the expected tables of contents of the test archives into separate
...
files so we don't have to process them at test time at all.
llvm-svn: 18270
2004-11-27 06:43:03 +00:00
Reid Spencer
4f102dd7fa
Use grep instead of sed because on Solaris sed doesn't copy null bytes and
...
it needs to in order for the bug in MacOSX archives to be tested correctly.
llvm-svn: 18269
2004-11-27 06:27:30 +00:00
Reid Spencer
532a662c80
Accommodate the braindead Solaris "diff" that doesn't understand the -q
...
option.
llvm-svn: 18268
2004-11-27 06:00:36 +00:00
Nate Begeman
43123c9f7a
Remove the ISel->AsmPrinter link via the TargetMachine that was put in
...
place to help bring up the PowerPC back end on Darwin. This code is no
longer serves any purpose now that the AsmPrinter does the right thing
all the time printing GlobalValues. --Cruft.
llvm-svn: 18267
2004-11-27 04:45:11 +00:00
Chris Lattner
eeaa29c377
Add a new interface
...
llvm-svn: 18266
2004-11-26 21:36:25 +00:00
Chris Lattner
b137409926
Provide size information when checking to see if we can LICM a load, this
...
allows us to hoist more loads in some cases.
llvm-svn: 18265
2004-11-26 21:20:09 +00:00
Chris Lattner
f30656b437
When evaluating an AA, pass in size info
...
llvm-svn: 18264
2004-11-26 21:05:39 +00:00
Chris Lattner
b50fd9262d
There is no reason to store <x,x>, just store <x>.
...
llvm-svn: 18263
2004-11-26 20:25:17 +00:00
Chris Lattner
63b45b4768
The trick with globals actually works with allocas and malloc too
...
llvm-svn: 18262
2004-11-26 20:01:48 +00:00
Chris Lattner
75819a81b2
A store or load cannot alias a global if the accessed amount is larger then
...
the global.
This implements Regression/Analysis/BasicAA/global-size.ll
llvm-svn: 18261
2004-11-26 19:20:01 +00:00
Chris Lattner
bfee2ccd5b
new testcase basicaa should handle
...
llvm-svn: 18260
2004-11-26 19:19:28 +00:00
Reid Spencer
6caee97dc2
Indicate that PR427 won't be fixed.
...
llvm-svn: 18259
2004-11-25 22:43:58 +00:00
Reid Spencer
493d9c242b
* Add features I implemented this release.
...
* Wrap long lines at 80 cols
* Indent lists so structure of document is a little more clear
* Make the page HTML 4.01 Strict compliant.
llvm-svn: 18258
2004-11-25 22:38:30 +00:00
Reid Spencer
d3f2e95e6c
Add LLVMbzip2 library, now required.
...
llvm-svn: 18255
2004-11-25 20:22:06 +00:00
Reid Spencer
550df1bbef
Remove HAVE_BZLIB and HAVE_BZIP2. We always have bzip2 now.
...
llvm-svn: 18254
2004-11-25 20:21:53 +00:00
Reid Spencer
cf5ca279ec
Always pass -D_GNU_SOURCE to cc1plus
...
llvm-svn: 18253
2004-11-25 19:38:51 +00:00
Reid Spencer
d7390bbd27
Always pass -D_GNU_SOURCE to cc1
...
llvm-svn: 18252
2004-11-25 19:38:39 +00:00
Reid Spencer
d49013f0b8
Add bzip2 subdirectory
...
llvm-svn: 18251
2004-11-25 19:38:28 +00:00
Reid Spencer
fa8d2e0b27
Remove zlib support in favor of our own bzip2 library
...
llvm-svn: 18250
2004-11-25 19:38:16 +00:00
Reid Spencer
af6fd29a08
Adjust to Compressor interface change
...
llvm-svn: 18249
2004-11-25 19:38:05 +00:00
Reid Spencer
969f0bd44c
Restrict the interface to not allow algorithm selection
...
llvm-svn: 18248
2004-11-25 19:37:42 +00:00
Reid Spencer
02c571be96
Add some instructions about ranlib'ing the CFE runtime libraries so that
...
they link faster. This should eventually be codified into the CFE's
makefile.
llvm-svn: 18247
2004-11-25 17:13:17 +00:00
Reid Spencer
c51e80a09f
Revise to LLVM makefile standards.
...
llvm-svn: 18246
2004-11-25 16:12:25 +00:00
Reid Spencer
a01ef71032
Initial Version from bzip2 Release 1.0.2.
...
llvm-svn: 18245
2004-11-25 16:11:36 +00:00
Reid Spencer
953e80db76
Correct the configuration variable used to find the bin directory.
...
llvm-svn: 18244
2004-11-25 09:36:28 +00:00
Reid Spencer
8bb258d1ea
Implement dependent library linking. It is no longer required that -lstdc++
...
-lstdsup++ no -lc be passed on the command line to llvm linkers if the
progam being linked was compiled with the C/C++ Front End or Stacker.
llvm-svn: 18243
2004-11-25 09:32:08 +00:00
Reid Spencer
2c4f9a484c
Remove blank comment lines for uniformity.
...
Make sure lines don't exceed 80 cols.
llvm-svn: 18242
2004-11-25 09:29:44 +00:00
Reid Spencer
334782733f
Add a convenience target to build all three modes: Debug, Release, Profile
...
llvm-svn: 18241
2004-11-25 09:08:54 +00:00
Reid Spencer
9dc4ba54dc
Gack. Actually use the correct variable name in setting the JIT support.
...
llvm-svn: 18240
2004-11-25 07:28:19 +00:00
Nate Begeman
3f76eb69f6
Enable optimization suggested by Chris Lattner to not emit reloc stubs for
...
static global variables whose addresses are taken. This allows us to
convert the following code for taking the address of a static function foo
addis r2, r30, ha16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")
lwz r3, lo16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")(r2)
which also includes linker stub code emitted at the end of the .s file not
shown here, and replace it with this:
addis r2, r30, ha16(l1__2E_foo_2-"L00001$pb")
la r3, lo16(l1__2E_foo_2-"L00001$pb")(r2)
which in addition to not needing linker help, also has no load instruction.
For those not up on PowerPC mnemonics, la is shorthand for add immediate.
llvm-svn: 18239
2004-11-25 07:09:01 +00:00
Chris Lattner
d0af8e24b5
The PPC backend is basically stable, and has a JIT now.
...
llvm-svn: 18238
2004-11-25 06:33:10 +00:00
Chris Lattner
6345ee29b3
Bug fixed
...
llvm-svn: 18237
2004-11-25 06:31:42 +00:00
Chris Lattner
d0b3983275
New testcase for PR451
...
llvm-svn: 18236
2004-11-25 06:25:13 +00:00
Chris Lattner
8cbad8efcf
Fix the build on non ppc machines
...
llvm-svn: 18235
2004-11-25 06:14:45 +00:00
Reid Spencer
2686464378
PR256 fixed.
...
llvm-svn: 18234
2004-11-25 06:07:42 +00:00
Reid Spencer
3d50017178
Fix the lib/System/platform link by using proper cached variable name.
...
llvm-svn: 18233
2004-11-25 06:03:14 +00:00
Reid Spencer
0241e38ef7
For PR256:
...
* cache more values
* standardize cache value names
* organize configure script per autoconf recommendations (10 sections)
* Eliminate some redundancies and complexities in the script
* Provide better documentation in the script.
llvm-svn: 18232
2004-11-25 04:51:04 +00:00
Reid Spencer
7c93739bc5
Cache the value of this test.
...
llvm-svn: 18231
2004-11-25 04:44:46 +00:00
Reid Spencer
0388846f25
Tidy up the indentation. Give the cache variable a proper name.
...
llvm-svn: 18230
2004-11-25 04:43:54 +00:00
Reid Spencer
026eda3ec8
Eliminate duplicate "checking" message.
...
llvm-svn: 18229
2004-11-25 04:42:25 +00:00
Chris Lattner
497a622376
The JIT works enough
...
llvm-svn: 18228
2004-11-25 04:14:54 +00:00
Chris Lattner
da76c16ba4
Fix encoding of fsel, fixing olden/power, McCat/bisort and several others.
...
All of Olden passes now! :)
llvm-svn: 18227
2004-11-25 04:11:07 +00:00
Chris Lattner
305f78f646
Fix encoding of fneg instruction
...
llvm-svn: 18226
2004-11-25 03:53:44 +00:00
Chris Lattner
191e525bae
Fix encoding of swari, fixing several programs, including Olden/mst
...
llvm-svn: 18225
2004-11-25 03:40:20 +00:00
Reid Spencer
58a9fe55fa
Make the check print something, give the cache var an llvm specific name.
...
llvm-svn: 18224
2004-11-25 03:33:03 +00:00
Chris Lattner
5d8ae54267
There is not a 1-1 mappign between llvm blocks and PPC blocks, do not use
...
LLVM blocks as the keys for the branch rewriter. This fixes treeadd and
many other programs with the JIT.
llvm-svn: 18223
2004-11-25 00:33:57 +00:00
Chris Lattner
dd516799d7
* Rename existing relocations to be more specific
...
* Add relocations for refernces to non-lazy darwin stubs and implement
them correctly.
With this change, we can correctly references external globals, and now
all but two UnitTests and all but 1 Regression/C tests pass.
More importantly, bugpoint-jit will start giving us useful testcases,
instead of always telling us that references to external globals don't
work :)
llvm-svn: 18222
2004-11-24 22:30:08 +00:00
Nate Begeman
e49936af54
Add the same optimization that we do loading from fixed alloca slots to
...
storing to fixed alloca slots.
llvm-svn: 18221
2004-11-24 21:53:14 +00:00
Chris Lattner
078b6f2b62
Write CompilationCallback as an explicit assembly stub to avoid getting GCC's
...
prolog.
llvm-svn: 18220
2004-11-24 21:01:46 +00:00
Chris Lattner
659d72e319
When rewriting the original call instruction, make sure to rewrite it to
...
call the right address.
llvm-svn: 18213
2004-11-24 18:00:02 +00:00
Chris Lattner
cb9af557e7
Force the intregs ptr into R2 and the FPregs ptr into R3. This fixes a really
...
obscure problem where we were doing:
lmw r3,0(r9)
which is undefined on PPC. Now we do:
lmw r3,0(r2)
by force, not relying on the GCC register allocator for luck :)
llvm-svn: 18212
2004-11-24 17:42:55 +00:00
Reid Spencer
80bb693109
Implement and document prefix options with arbitrary values including an
...
= sign. This needed to support -DNAME=value options as pass-through in
llvmc.
llvm-svn: 18203
2004-11-24 06:13:42 +00:00
Brian Gaeke
7217642438
Update list of failing benchmarks.
...
llvm-svn: 18202
2004-11-24 04:07:42 +00:00
Brian Gaeke
1139802b98
Fix bug in emitGEPOperation with large struct-member offsets.
...
llvm-svn: 18201
2004-11-24 04:07:33 +00:00
Chris Lattner
130888ad37
Fix a few more tests by encoding the extsb and other XForm11 instructions
...
correctly.
llvm-svn: 18200
2004-11-24 03:52:02 +00:00
Chris Lattner
022e271db5
Fix the encoding of ORi and other DForm4 instructions. This brings us to
...
36/42 SingleSource/UnitTests passing!
llvm-svn: 18199
2004-11-24 02:15:41 +00:00
Chris Lattner
57542fcfc2
Loads are relocatable too
...
llvm-svn: 18198
2004-11-24 02:03:44 +00:00
Chris Lattner
7b1cf0d6c6
Calls do not need a MovPCtoLR instruction
...
llvm-svn: 18197
2004-11-24 02:00:06 +00:00
Chris Lattner
6a7ebe034e
Get constant pools working. This fixes even more programs, allowing us to
...
pass 24/42 in UnitTests (up from 20).
llvm-svn: 18196
2004-11-24 01:56:12 +00:00
Tanya Lattner
13c71ca7b6
Forced branches to be first to be scheduled.
...
llvm-svn: 18195
2004-11-24 01:49:10 +00:00
Chris Lattner
193b6f3281
Rewrite branches more closely to correct. This makes more stuff pass, and
...
stops the infinite loops!
llvm-svn: 18194
2004-11-24 01:35:12 +00:00
Chris Lattner
b55f748b1a
Branch instructions explicitly represent CRx in them. bEcause of this, encode
...
them explicitly as well.
llvm-svn: 18193
2004-11-24 01:15:19 +00:00
Nate Begeman
674fe0bb60
Fix encoding of bctrl, and remove some unused instructions
...
llvm-svn: 18192
2004-11-24 00:16:37 +00:00
Reid Spencer
67386ceacc
Make sure additional C++ suffixes are recognized by llvmc.
...
llvm-svn: 18191
2004-11-24 00:01:57 +00:00
Reid Spencer
a61edd8e92
Add the configurable configuration files for llvmc.
...
llvm-svn: 18190
2004-11-23 23:48:45 +00:00
Reid Spencer
cfa51ff82b
* Adjust the options to make them either accept multiple occurrences or be
...
optional so that compatibility with GCC is accomplished.
* Implement the -print-file-name option in an attempt to provide the same
functionality as GCC. Unfortunately, without loading the cpp or c config
files, this option won't help much.
llvm-svn: 18189
2004-11-23 23:47:58 +00:00
Reid Spencer
cd893a9c50
* Don't pass empty arguments to ExecuteAndWait because it can cause the
...
sub-tool to start reading its standard input instead of the specified
input.
* Clean up ouput of path names on error.
* Extend GetPathForLinkageItem to always search the LibraryPaths and thus
make it suitable for an interface function (required by llvmc.cpp).
* Implement support for language-specific default library paths.
llvm-svn: 18188
2004-11-23 23:45:49 +00:00
Reid Spencer
5e1e6b9f82
Configuration data now supports a vector of library paths.
...
Add the GetPathForLinkageItem method to the interface so full paths can
be generated for a given linkage item.
llvm-svn: 18187
2004-11-23 23:40:06 +00:00
Reid Spencer
fe6dd9da55
Add the c and cpp configuration files.
...
llvm-svn: 18186
2004-11-23 23:38:46 +00:00
Reid Spencer
e1ae9d7c00
Removed in favor of configurable (*.in) versions.
...
llvm-svn: 18185
2004-11-23 23:38:07 +00:00
Reid Spencer
d51dfe3946
Make various adjustments to parsing so that the separator character doesn't
...
terminate options or paths, so that SPACE tokens legally separate options
on a command line, and so that the lang.libs paths are parsed properly.
llvm-svn: 18184
2004-11-23 23:37:26 +00:00
Reid Spencer
513587fbe6
SPACE is a legitimate token now, to separate option words.
...
llvm-svn: 18183
2004-11-23 23:35:50 +00:00
Reid Spencer
6a0d9b99df
Handle space, separators, bad substitutions, and library search path better
...
than before.
llvm-svn: 18182
2004-11-23 23:35:16 +00:00
Reid Spencer
c14e53efb8
Configurable language configuration files.
...
llvm-svn: 18181
2004-11-23 23:33:08 +00:00
Reid Spencer
a193f3cdbf
Allow reading of member names that begin with an _ character.
...
llvm-svn: 18179
2004-11-23 22:35:39 +00:00
Chris Lattner
c7eeae4661
Fix encoding of blr and bctr
...
llvm-svn: 18178
2004-11-23 22:06:24 +00:00
John Criswell
fd769457b8
Added remark about GCC 3.2.2. Someone with more knowledge of the problem
...
can elaborate.
llvm-svn: 18177
2004-11-23 22:06:24 +00:00
Nate Begeman
c5fc6f5717
Use the correct register class as a constaint to gcc's inline assembly, so
...
that we don't end up trying to use r0 as a base register.
llvm-svn: 18176
2004-11-23 21:37:22 +00:00
Nate Begeman
617760687a
Save/Restore arg regs and nonvolatile regs the compiler might use during
...
CompilationCallback
llvm-svn: 18175
2004-11-23 21:34:18 +00:00
Chris Lattner
578dfd5e42
Fix the encoding of OR, AND and many other instructions
...
llvm-svn: 18174
2004-11-23 21:17:35 +00:00
Brian Gaeke
94c58dc877
Support shr long/ulong.
...
llvm-svn: 18173
2004-11-23 21:10:50 +00:00
Brian Gaeke
8d4a5ad55c
Support printing ConstantAggregateZeros.
...
llvm-svn: 18172
2004-11-23 21:10:49 +00:00
Brian Gaeke
2e7f71863f
Update failing SingleSource test-case list.
...
llvm-svn: 18171
2004-11-23 21:10:48 +00:00
Chris Lattner
a630adebc7
Remove argtype and argcount magic, which was used by the old asmprinter.
...
llvm-svn: 18170
2004-11-23 20:41:34 +00:00
Chris Lattner
be39b8f541
Get rid of flags that are dead
...
llvm-svn: 18169
2004-11-23 20:37:41 +00:00
Misha Brukman
c3184445de
We also provide a source distribution of the GCC front-end
...
llvm-svn: 18166
2004-11-23 19:26:24 +00:00
Chris Lattner
5f4b0e1bf7
Fix encoding of rlwinm?
...
llvm-svn: 18165
2004-11-23 19:23:32 +00:00
Chris Lattner
1238cca6df
Fix encodings
...
llvm-svn: 18164
2004-11-23 19:23:18 +00:00
Chris Lattner
431e0132ef
Enumerate CR registers
...
llvm-svn: 18162
2004-11-23 18:59:59 +00:00
Chris Lattner
a8936af13e
Initial implementation of exiting CompilationCallback
...
This should save all argument registers on entry and restore on exit, despite
that, simple things seem to work!!!
llvm-svn: 18161
2004-11-23 18:49:46 +00:00
Chris Lattner
febc3eb8fa
This method is dead
...
llvm-svn: 18160
2004-11-23 18:47:55 +00:00
Chris Lattner
24ad93f55c
Remove this method.
...
llvm-svn: 18159
2004-11-23 18:47:42 +00:00
Reid Spencer
f675b49722
Make sure the timing output is also sent to the log file for dejagnu, not
...
the log file of the NightlyTest.pl script.
llvm-svn: 18158
2004-11-23 16:23:50 +00:00
Chris Lattner
cccd49f1b7
Squelch a bogus warning
...
llvm-svn: 18157
2004-11-23 15:57:01 +00:00
Chris Lattner
b1fd07a862
Squelch a bogus warning.
...
llvm-svn: 18156
2004-11-23 15:56:38 +00:00