1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
Commit Graph

25614 Commits

Author SHA1 Message Date
Chris Lattner
ca081a735e 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
60d02d04dd Add basic block machine relocation.
llvm-svn: 29349
2006-07-27 18:18:13 +00:00
Evan Cheng
f363ae6ebd synchronizeICache removeed from TargetJITInfo.
llvm-svn: 29348
2006-07-27 17:33:48 +00:00
Nate Begeman
952d922bf1 Code cleanups, per review
llvm-svn: 29347
2006-07-27 16:46:58 +00:00
Evan Cheng
dbcca8f422 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
17acc47da9 Fixed a typo in Evan's submisson.
llvm-svn: 29345
2006-07-27 13:40:34 +00:00
Rafael Espindola
c0ede90402 emit global constants
llvm-svn: 29344
2006-07-27 11:38:51 +00:00
Evan Cheng
bdb2562804 AssignNodeIds should return unsigned.
llvm-svn: 29343
2006-07-27 07:36:47 +00:00
Reid Spencer
b6577bc3cd 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
e869883c2d Remove NodeDepth
llvm-svn: 29338
2006-07-27 06:40:15 +00:00
Evan Cheng
5783fd4aab AssignNodeIds assign each node in the DAG an unique id.
llvm-svn: 29337
2006-07-27 06:39:06 +00:00
Evan Cheng
a8e15977aa 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
1e640aeee8 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
39112023f1 Move synchronizeICache from TargetJITInfo into a static function in JITEmitter.cpp
llvm-svn: 29334
2006-07-27 06:33:55 +00:00
Reid Spencer
fc050d5438 Fix section title to use lower case.
llvm-svn: 29332
2006-07-27 05:51:34 +00:00
Reid Spencer
99c329614c 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
3fe085af58 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
1508f7383b Bump version #
llvm-svn: 29327
2006-07-27 04:58:33 +00:00
Chris Lattner
92a0b69813 Add some advice
llvm-svn: 29324
2006-07-27 04:24:14 +00:00
Chris Lattner
f2d0e0296a 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
046abcdbec Use the predicate.
llvm-svn: 29322
2006-07-27 02:05:13 +00:00
Patrick Jenkins
68d735bbca 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
c839718eec 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
3d5f5b4e8b Support jump tables when in PIC relocation model
llvm-svn: 29318
2006-07-27 01:13:04 +00:00
Jim Laskey
f35dd1a670 Prevent creation of MachineDebugInfo for intel unless it is darwin. RC842.
llvm-svn: 29317
2006-07-27 01:12:23 +00:00
Patrick Jenkins
ba02cd76ce 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
d2170e1b17 Fix warning on linux
llvm-svn: 29314
2006-07-27 00:04:14 +00:00
Chris Lattner
cbd19c14f1 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
978280e425 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
27c53dc36e New entry.
llvm-svn: 29310
2006-07-26 21:49:52 +00:00
Reid Spencer
b03f452544 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
e5fe48b84a 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
b4165c39d7 Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
llvm-svn: 29307
2006-07-26 21:12:04 +00:00
Reid Spencer
d23d7bb97b Remove an extraneous use of ${ac_exeext}. Patch by Anton Korobeynikov.
llvm-svn: 29306
2006-07-26 21:08:09 +00:00
Reid Spencer
1cf693d0d6 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
8e317716ee allow this to pass on non-x86 machines
llvm-svn: 29303
2006-07-26 20:44:24 +00:00
Chris Lattner
2cd0f41681 Fix the build on win32
llvm-svn: 29302
2006-07-26 20:37:11 +00:00
Chris Lattner
34ff5a1684 Don't test an example
llvm-svn: 29301
2006-07-26 20:33:20 +00:00
Chris Lattner
472aa0fb84 Reduce work done for directory traversal in srcdir==objdir builds.
llvm-svn: 29300
2006-07-26 20:22:26 +00:00
Chris Lattner
d40a2002f2 Add llvm2cpp to DIRs list
llvm-svn: 29299
2006-07-26 20:19:06 +00:00
Chris Lattner
884eb77753 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
ed6495426c 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
62ffefecfa 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
c2eb650e39 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
10b9edbb69 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
7b3f038890 No Need to live in the past.
llvm-svn: 29282
2006-07-26 09:59:01 +00:00
Chris Lattner
d4d69f64dd 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
d7e656f90b 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
fb0feb79f0 Initialize some variables the compiler warns about.
llvm-svn: 29277
2006-07-25 20:44:41 +00:00
Evan Cheng
beeb4e5c8c - 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