Chris Lattner
dc5a8963c1
Pass -fstrict-aliasing to the compiler when building a release build on darwin.
...
Darwin doesn't default to it being on.
llvm-svn: 29350
2006-07-27 18:19:51 +00:00
Evan Cheng
7d899e61c6
Add basic block machine relocation.
...
llvm-svn: 29349
2006-07-27 18:18:13 +00:00
Evan Cheng
7ec7b467df
synchronizeICache removeed from TargetJITInfo.
...
llvm-svn: 29348
2006-07-27 17:33:48 +00:00
Nate Begeman
efc312a5c7
Code cleanups, per review
...
llvm-svn: 29347
2006-07-27 16:46:58 +00:00
Evan Cheng
691a63d564
Use reachbility information to determine whether a node can be folded into another during isel.
...
llvm-svn: 29346
2006-07-27 16:44:36 +00:00
Jim Laskey
8307be446f
Fixed a typo in Evan's submisson.
...
llvm-svn: 29345
2006-07-27 13:40:34 +00:00
Rafael Espindola
89e5cbd897
emit global constants
...
llvm-svn: 29344
2006-07-27 11:38:51 +00:00
Evan Cheng
acb606ff33
AssignNodeIds should return unsigned.
...
llvm-svn: 29343
2006-07-27 07:36:47 +00:00
Reid Spencer
734b74fefe
Correct a misunderstanding about cross-compiling. Anton's changes don't
...
cause LLVM to become a cross-compiler but rather cross-compile LLVM so that
it can execute on a platform other than the build host.
llvm-svn: 29339
2006-07-27 06:41:31 +00:00
Evan Cheng
f300896420
Remove NodeDepth
...
llvm-svn: 29338
2006-07-27 06:40:15 +00:00
Evan Cheng
29eefc164c
AssignNodeIds assign each node in the DAG an unique id.
...
llvm-svn: 29337
2006-07-27 06:39:06 +00:00
Evan Cheng
ad4b9f58f5
Remove NodeDepth; Add NodeId which is a unique id per node per DAG. It can only be set by SelectionDAG.
...
llvm-svn: 29336
2006-07-27 06:38:21 +00:00
Evan Cheng
061aba35c1
Let each target specific isel provide routine to check if a chain producing node is foldable by another.
...
llvm-svn: 29335
2006-07-27 06:36:49 +00:00
Evan Cheng
93386e02fe
Move synchronizeICache from TargetJITInfo into a static function in JITEmitter.cpp
...
llvm-svn: 29334
2006-07-27 06:33:55 +00:00
Reid Spencer
48c50746c5
Fix section title to use lower case.
...
llvm-svn: 29332
2006-07-27 05:51:34 +00:00
Reid Spencer
d966b2494d
Add instructions for building a cross-compiler. Patch contributed by
...
Anton Korobeynikov.
llvm-svn: 29330
2006-07-27 05:43:30 +00:00
Reid Spencer
0275529d0e
Reduce the padding on the doc_notes style. It was set to 1em which leaves
...
the shaded box with a large blank border, wasting space.
llvm-svn: 29328
2006-07-27 05:29:25 +00:00
Chris Lattner
91fe1b4937
Bump version #
...
llvm-svn: 29327
2006-07-27 04:58:33 +00:00
Chris Lattner
85ea83e821
Add some advice
...
llvm-svn: 29324
2006-07-27 04:24:14 +00:00
Chris Lattner
4da479b02b
Use std::copy instead of custom loops to take advantage of STL optimizations.
...
Add a new append method for appending a range.
llvm-svn: 29323
2006-07-27 03:38:08 +00:00
Jim Laskey
3b4866e194
Use the predicate.
...
llvm-svn: 29322
2006-07-27 02:05:13 +00:00
Patrick Jenkins
9f5ea5dc5a
I made a stupid mistake when adding support for -use-gmake. ~PJ
...
llvm-svn: 29321
2006-07-27 01:24:35 +00:00
Patrick Jenkins
10d0e34001
added support for the -use-gmake option. This will come in handy when running the test on SunOS.
...
llvm-svn: 29319
2006-07-27 01:17:17 +00:00
Nate Begeman
787565024a
Support jump tables when in PIC relocation model
...
llvm-svn: 29318
2006-07-27 01:13:04 +00:00
Jim Laskey
c169b8798f
Prevent creation of MachineDebugInfo for intel unless it is darwin. RC842.
...
llvm-svn: 29317
2006-07-27 01:12:23 +00:00
Patrick Jenkins
0f3e0b0292
This change will allow support for SunOS to the testing script. It adds a check to see if we're running on SunOS and if so, then uses gmake instead of make.
...
llvm-svn: 29316
2006-07-27 01:03:46 +00:00
Chris Lattner
2c3e9bab6f
Fix warning on linux
...
llvm-svn: 29314
2006-07-27 00:04:14 +00:00
Chris Lattner
4488f0c303
Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.
...
This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847.
llvm-svn: 29313
2006-07-26 23:55:56 +00:00
Evan Cheng
9384400d83
Fix for bug 840. Only use noinline attribute if gcc version >= 3.4
...
llvm-svn: 29311
2006-07-26 23:06:27 +00:00
Evan Cheng
23a21c19d9
New entry.
...
llvm-svn: 29310
2006-07-26 21:49:52 +00:00
Reid Spencer
0aa9d00ba0
For PR814:
...
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!
llvm-svn: 29309
2006-07-26 21:14:56 +00:00
Chris Lattner
44b1e8e53f
Avoid a "scary" make warning for the 1.8 release. This should be reenabled
...
right after 1.8 "ships".
llvm-svn: 29308
2006-07-26 21:14:04 +00:00
Chris Lattner
9e56e5c003
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
...
llvm-svn: 29307
2006-07-26 21:12:04 +00:00
Reid Spencer
1d0ebb9eb7
Remove an extraneous use of ${ac_exeext}. Patch by Anton Korobeynikov.
...
llvm-svn: 29306
2006-07-26 21:08:09 +00:00
Reid Spencer
3197274203
For PR814:
...
Add a macro for getting the build host extension for executable. Patch
contributed by Anton Korobeynikov. Thanks!
llvm-svn: 29304
2006-07-26 20:45:12 +00:00
Chris Lattner
698913e6c5
allow this to pass on non-x86 machines
...
llvm-svn: 29303
2006-07-26 20:44:24 +00:00
Chris Lattner
963ac1486a
Fix the build on win32
...
llvm-svn: 29302
2006-07-26 20:37:11 +00:00
Chris Lattner
da72978e1e
Don't test an example
...
llvm-svn: 29301
2006-07-26 20:33:20 +00:00
Chris Lattner
b92596114b
Reduce work done for directory traversal in srcdir==objdir builds.
...
llvm-svn: 29300
2006-07-26 20:22:26 +00:00
Chris Lattner
729b7a98ad
Add llvm2cpp to DIRs list
...
llvm-svn: 29299
2006-07-26 20:19:06 +00:00
Chris Lattner
b85c3253b8
Revamp this to use filter-out, which makes the logic simpler and not nested.
...
This restores building of examples and projects!
llvm-svn: 29297
2006-07-26 19:10:34 +00:00
Reid Spencer
5fd1180d71
Make changes necessary for stopping the build if a cyclic library
...
dependency is found. The find-cycles.pl script now exits with a return code
that equals the number of cycles found. The Makefile was changed to ignore
the status code of find-cycles.pl. This should be removed once the libraries
are free of cyclic dependencies.
llvm-svn: 29290
2006-07-26 17:10:54 +00:00
Reid Spencer
1c937fe257
Build llvm-config to identify library cycles earlier in the build process.
...
llvm-svn: 29289
2006-07-26 17:06:02 +00:00
Reid Spencer
082e2a7821
For PR780:
...
Put the rest of lib/System into LinkAllVMCore.h. This makes all of
lib/System available to programs that #include LinkALlVMCore.h so that
loadable modules linked into those programs can depend on all of lib/System
being available.
llvm-svn: 29288
2006-07-26 16:55:39 +00:00
Reid Spencer
421475cd3b
For PR780:
...
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore
llvm-svn: 29287
2006-07-26 16:18:00 +00:00
Jim Laskey
cc6a7d7ed6
No Need to live in the past.
...
llvm-svn: 29282
2006-07-26 09:59:01 +00:00
Chris Lattner
f567a263c6
Add a new llvm::SmallVector template, which is similar to the vector class, but
...
contains optimizations to avoid heap allocation if the vector size is smaller
than some threshold. This can significantly improve the performance of code
that allocates many small vectors by eliminating tons of small malloc/free's.
llvm-svn: 29281
2006-07-26 06:22:30 +00:00
Jim Laskey
4700b1534e
Moving this function to a permanent home to prevent a dependency cycle created
...
by the inline heuristic. Was preventing llvm-gcc4 from building.
llvm-svn: 29278
2006-07-25 23:22:00 +00:00
Reid Spencer
658b9476f0
Initialize some variables the compiler warns about.
...
llvm-svn: 29277
2006-07-25 20:44:41 +00:00
Evan Cheng
f6acb34d23
- Refactor the code that resolve basic block references to a TargetJITInfo
...
method.
- Added synchronizeICache() to TargetJITInfo. It is called after each block
of code is emitted to flush the icache. This ensures correct execution
on targets that have separate dcache and icache.
- Added PPC / Mac OS X specific code to do icache flushing.
llvm-svn: 29276
2006-07-25 20:40:54 +00:00