1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
Commit Graph

7912 Commits

Author SHA1 Message Date
Chris Lattner
849c3fbdcc Reshuffling of APIs
llvm-svn: 8354
2003-09-05 02:15:36 +00:00
Chris Lattner
a0c99153e0 containsEquivalent never returns its argument
llvm-svn: 8353
2003-09-04 23:49:53 +00:00
Chris Lattner
4caa92eca5 Non-functional change
llvm-svn: 8352
2003-09-04 23:47:07 +00:00
Chris Lattner
652d585600 Remove needless usage of getDescription()
llvm-svn: 8351
2003-09-04 23:46:03 +00:00
Chris Lattner
706576a0cc Inline method
llvm-svn: 8350
2003-09-04 23:43:40 +00:00
Chris Lattner
802d5a1717 Remove method
llvm-svn: 8349
2003-09-04 23:43:35 +00:00
Chris Lattner
3835c2fdd1 Don't try to be sneaky, breaking recursive types in the process
llvm-svn: 8348
2003-09-04 23:41:03 +00:00
Chris Lattner
0382bf2e98 This is now unnecessary
llvm-svn: 8347
2003-09-04 23:38:22 +00:00
Brian Gaeke
5efbdb852a Remove support for breakpoints (not used).
Remove some dead code and whitespace.

llvm-svn: 8346
2003-09-04 23:15:40 +00:00
Brian Gaeke
0fdcd57402 Move EE dtor where it belongs
llvm-svn: 8345
2003-09-04 22:57:27 +00:00
Brian Gaeke
6d7d9f9cd9 Interpreter cleanups:
Get rid of support for DebugMode (make it always off).
Mung some comments.
Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff
 which have been disabled forever.
Get rid of -abort-on-exception (make it always on).
Get rid of user interaction stuff (debug mode innards).
Simplify Interpreter's callMainFunction().

llvm-svn: 8344
2003-09-04 22:21:24 +00:00
Brian Gaeke
cec978e0ed ExecutionEngine.cpp: Move execution engine creation stuff into a new
static method here.
 Remove some extra blank lines.
ExecutionEngine.h: Add its prototype.
lli.cpp: Call it.

Make creation method for each type of EE into a static method of its
own subclass.

Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter -->
 Interpreter::create
Interpreter/Interpreter.h: Likewise.
JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create
JIT/VM.h: Likewise.

llvm-svn: 8343
2003-09-03 20:34:19 +00:00
Chris Lattner
0b78090518 Avoid printing meaningless numbers
llvm-svn: 8342
2003-09-03 20:25:27 +00:00
Chris Lattner
2fe8fac4e0 Fix bug where we couldn't print a function without a name
llvm-svn: 8341
2003-09-03 17:56:43 +00:00
Chris Lattner
4e722bde53 Follow the pattern of all other atu's
llvm-svn: 8340
2003-09-03 16:01:54 +00:00
Chris Lattner
2c028515e6 No need to rescan types when they are created.
llvm-svn: 8339
2003-09-03 14:44:53 +00:00
Chris Lattner
f944a6153f Final cleanups, document is good to go
llvm-svn: 8338
2003-09-03 04:20:13 +00:00
Chris Lattner
fbc927711a Add a WHOLE lot of updates clarifications and fixes. This is not done but getting closer. I changed the docs to reflect the goal of making unwind an instruction, not an intrinsic.
llvm-svn: 8337
2003-09-03 00:41:47 +00:00
Chris Lattner
f697a5ee3e hyphenation police visited here
llvm-svn: 8336
2003-09-02 23:38:41 +00:00
Chris Lattner
4a96f4593e Another small speedup, this one to: 2.42s
llvm-svn: 8335
2003-09-02 22:52:49 +00:00
Chris Lattner
0cfd2b85b8 Don't return bogus references, and don't add an entry to the Concrete map
unless it's not empty!

llvm-svn: 8334
2003-09-02 22:50:02 +00:00
Chris Lattner
398d8a539c Another optimization, speed up the testcase to 2.7s
llvm-svn: 8333
2003-09-02 22:15:15 +00:00
Chris Lattner
e4adff8157 Removal of explicit stack, which requires the method to be a member (so it can
call setAbstract).  Now that we just compute abstractness we can also return
the computed value by value instead of as an argument.

llvm-svn: 8332
2003-09-02 21:56:34 +00:00
Chris Lattner
2229f417a0 New method
llvm-svn: 8331
2003-09-02 21:54:56 +00:00
Chris Lattner
05eecdb7de Remove the "recursive bit", not only is it unused by anyone, it was also
not correctly calculated, and calculating it wrong for fun seems rather
pointless.  This also speeds up my favorite testcase by .25 seconds.

llvm-svn: 8330
2003-09-02 21:41:05 +00:00
Chris Lattner
4636773d5b Remove the "recursive bit", not only is it unused by anyone, it was also
not correctly calculated, and calculating it wrong for fun seems rather
pointless.

llvm-svn: 8329
2003-09-02 21:40:33 +00:00
John Criswell
cdcee99ee6 Added code that makes the bytecode file readable (needed by the generated shell
script).
Removed the use of sys/types.h and sys/stat.h.
Modified FileExists() so that it uses the access() system call to check for
file existance.  This requires less header files and might even be a tad bit
faster.

llvm-svn: 8328
2003-09-02 21:11:22 +00:00
John Criswell
6927aeed1e Added the MakeFileReadable() method.
llvm-svn: 8327
2003-09-02 21:09:30 +00:00
John Criswell
5277b91d50 Added a description of the algorithm.
Return failure if the chmod() fails.

llvm-svn: 8326
2003-09-02 20:30:16 +00:00
John Criswell
3ac81b74cb Modified the code so that it uses the MakeFileExecutable() method. The new
library code now adds all execute bits that are allowed by the umask value to
the file's current permission bits.

llvm-svn: 8325
2003-09-02 20:17:20 +00:00
John Criswell
7b83fe6beb Added the MakeFileExecutable() method. This method takes a filename and
gives it execute access while respecting the user's umask.

llvm-svn: 8324
2003-09-02 20:14:57 +00:00
Chris Lattner
590606e4c4 Don't bother doing an exhaustive recursive walk if we are at the limit of what
we need to know anyway.  This reduces the 2002-07-08-HugePerformanceProblem.llx
down to 3.210u:0.010s, which is back in the acceptable range again

llvm-svn: 8323
2003-09-02 20:06:29 +00:00
Chris Lattner
06d8aac065 Ugh, fix bugs. Ok, so the last fix wasn't as great as I thought it was.
Now we're back to: 131.730u, 0.330s, which is still quite an improvement,
but still quite unacceptable

llvm-svn: 8322
2003-09-02 19:14:12 +00:00
Chris Lattner
fb0b83a27b Further simplifications
llvm-svn: 8321
2003-09-02 16:46:41 +00:00
Chris Lattner
dda7669997 Change the code to no longer compute the "type description" immediately when
the type is analyzed.  Instead, only compute it when requested (with
getDescription), and cached for reuse later.

This dramatically speeds up LLVM in general because these descriptions almost
_never_ need to be constructed.  The only time they are used is when a type is
<<'d.  Printing of modules by themselves uses other code to print symbolic
types when possible, so these descriptions are really only used for debugging.

Also, this fixes the particularly bad case when lots of types get resolved to
each other, such as during linking of large programs.  In these cases, the type
descriptions would be repeatedly recomputed and discarded even though: A. noone
reads the description before it gets resolved, and B. many many resolutions
happen at intermediate steps, causing a HUGE waste of time.

Overall, this makes the getTypeDesc function much more light-weight, and fixes
bug: Assembler/2002-07-08-HugePerformanceProblem.llx, which went from taking
1048.770u/19.150s (which is 17.5 MINUTES, on apoc), to taking 0.020u/0.000s,
which is a nice little speedup.  :)

llvm-svn: 8320
2003-09-02 16:35:17 +00:00
Chris Lattner
1ae014f939 The description is no longer stored directly in the type.
llvm-svn: 8319
2003-09-02 16:28:03 +00:00
Brian Gaeke
5a8d15dfa1 Remove assertion which is never reached.
llvm-svn: 8318
2003-09-02 06:45:34 +00:00
Chris Lattner
f993c53f49 Dead header file
llvm-svn: 8317
2003-09-01 20:46:08 +00:00
Chris Lattner
7149fa4d4b #include is unnecessary
llvm-svn: 8316
2003-09-01 20:45:46 +00:00
Chris Lattner
3fdc7bbd0d Prototype for creator function got moved
llvm-svn: 8315
2003-09-01 20:45:33 +00:00
Chris Lattner
603a7af227 Add RPR prototype here
llvm-svn: 8314
2003-09-01 20:44:42 +00:00
Chris Lattner
8ec3783590 Remove dead file
llvm-svn: 8313
2003-09-01 20:41:21 +00:00
Chris Lattner
3d53c382ba OptInfo is no longer required
llvm-svn: 8312
2003-09-01 20:41:07 +00:00
Chris Lattner
6d92264f5a No longer provide an optinfo, noone uses it
llvm-svn: 8311
2003-09-01 20:40:59 +00:00
Chris Lattner
feebbdd6d1 No longer require an OptInfo
llvm-svn: 8310
2003-09-01 20:40:43 +00:00
Chris Lattner
2eb5de925f Inline simple comparison which is sparc specific anyway
llvm-svn: 8309
2003-09-01 20:38:03 +00:00
Chris Lattner
5520e4dc30 Don't build dead directories
llvm-svn: 8308
2003-09-01 20:34:15 +00:00
Chris Lattner
87d223c70e Remove header files that were privatized
llvm-svn: 8307
2003-09-01 20:33:38 +00:00
Chris Lattner
3d6b7d1b44 Move private interfaces into private .h file
llvm-svn: 8306
2003-09-01 20:33:07 +00:00
Chris Lattner
f2e4f5a388 Preselection is now integrated into the Sparc target library
llvm-svn: 8305
2003-09-01 20:30:17 +00:00