Chris Lattner
4fa85705f6
Add 2nd form of resize
...
llvm-svn: 29945
2006-08-28 21:52:08 +00:00
Chris Lattner
5571652921
remove extraneous space
...
llvm-svn: 29940
2006-08-28 17:30:49 +00:00
Reid Spencer
959705759f
Back out last revision which should not have been committed (yet).
...
llvm-svn: 29935
2006-08-28 01:08:45 +00:00
Reid Spencer
2567610703
For PR387:
...
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.
llvm-svn: 29934
2006-08-28 01:02:49 +00:00
Chris Lattner
8a59e8be23
simplify AnalysisGroup registration, eliminating one typeid call.
...
llvm-svn: 29932
2006-08-28 00:42:29 +00:00
Chris Lattner
6474b3fe80
Silence -Woverloaded-virtual warnings.
...
llvm-svn: 29929
2006-08-28 00:09:00 +00:00
Chris Lattner
a39dcb5377
eliminate RegisterOpt. It does the same thing as RegisterPass.
...
llvm-svn: 29925
2006-08-27 22:42:52 +00:00
Chris Lattner
f530302eda
Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.
...
llvm-svn: 29921
2006-08-27 22:30:17 +00:00
Chris Lattner
216059ff5a
We no longer care whether something is an opt vs analysis pass, only whether
...
something is a pass vs an analysis group now. Simplify interfaces.
llvm-svn: 29920
2006-08-27 22:21:55 +00:00
Chris Lattner
dc7bad1787
Remove a dead class.
...
llvm-svn: 29918
2006-08-27 22:11:07 +00:00
Chris Lattner
db0a995bbe
add directive to disable inlining
...
llvm-svn: 29912
2006-08-27 13:16:05 +00:00
Chris Lattner
33bd5dcfb7
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|
...
llvm-svn: 29911
2006-08-27 12:54:02 +00:00
Chris Lattner
91f098c9f7
Add external definitions for commonly-used template specializations and add
...
anchor methods to others. This eliminates the vtable/template method bloat
in .o files that defining a cl::opt used to impose (~4K per .o file for one
cp::opt<unsigned>).
llvm-svn: 29909
2006-08-27 12:45:47 +00:00
Chris Lattner
a72e220a25
New place to put compiler-specific functionality. This replaces Visibility.h,
...
and provides macros that can be used to make explicit instantiations of
template specializations, which is a gcc-specific feature.
llvm-svn: 29908
2006-08-27 12:42:45 +00:00
Evan Cheng
6e08e7035f
Eliminate SelectNodeTo() and getTargetNode() variants which take more than
...
3 SDOperand operands. They are replaced by versions which take an array
of SDOperand and the number of operands.
llvm-svn: 29905
2006-08-27 08:08:54 +00:00
Chris Lattner
5d7bd21c41
make optional pointer really optional
...
llvm-svn: 29904
2006-08-27 07:11:54 +00:00
Nate Begeman
f94ddf0d12
Properly size the string table, and emit symbol table and string table
...
entries in the correct order, fixing several fixmes.
llvm-svn: 29902
2006-08-26 15:46:34 +00:00
Evan Cheng
1c3d571e4b
SelectNodeTo now returns a SDNode*.
...
llvm-svn: 29901
2006-08-26 08:00:10 +00:00
Chris Lattner
ec9c7fa089
Completely change the way that joining with physregs is implemented. This
...
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.
llvm-svn: 29890
2006-08-25 23:41:24 +00:00
Jim Laskey
e9b0e1014e
Tidy up.
...
llvm-svn: 29888
2006-08-25 22:56:30 +00:00
Reid Spencer
9b5ea0704e
For PR797:
...
Make the Win32 code exception free (untested/uncompiled) which forced some
interface changes which had ripple effect. This should be the last of 797.
llvm-svn: 29884
2006-08-25 21:37:17 +00:00
Reid Spencer
e2b7b29a82
For PR797:
...
Final commit for this bug. This removes the last EH holdouts in LLVM
and turns off exception support by using the -fno-exceptions option. This
leads to the following reduction in library and executable sizes:
DEBUG BUILD RELEASE BUILD
before after delta before after delta
lib 162,328K 157,616K 4,712 17,864K 16,416K 1,448K
bin 571,444K 557,156K 14,288 63,296K 56,996K 6,300K
Debug Improvement: 19,000K (2.59%)
Release Improvement: 7,748K (9.55%)
llvm-svn: 29882
2006-08-25 19:54:53 +00:00
Jim Laskey
3af6953257
Consolidate callee saved register information so that it can me used by debug
...
information and exception handling.
llvm-svn: 29881
2006-08-25 19:45:51 +00:00
Reid Spencer
741140980f
For PR797:
...
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
llvm-svn: 29875
2006-08-25 17:43:11 +00:00
Nate Begeman
ce8ab85260
Get closer to handling globals correctly. We now generally get them in the
...
right section.
llvm-svn: 29871
2006-08-25 06:36:58 +00:00
Reid Spencer
d813eae003
For PR797:
...
Remove exception handling from the bytecode archiver and adjust the llvm-ar
tool to accommodate the new interfaces.
llvm-svn: 29866
2006-08-24 23:45:08 +00:00
Chris Lattner
28645a15bd
Take advantage of the recent improvements to the liveintervals set (tracking
...
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:
1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
better solution.
3. Implements PR865, "coallescing" away the second copy in code like:
A = B
...
B = A
This also includes changes to symbolically print registers in intervals
when possible.
llvm-svn: 29862
2006-08-24 22:43:55 +00:00
Reid Spencer
88bbd0bcf8
Remove a FIXME. Don't use strlcpy that isn't available on non-BSD platforms
...
and ensure that a memory overrun won't occur while still writing Length
bytes in the outstring function.
llvm-svn: 29855
2006-08-24 14:25:39 +00:00
Chris Lattner
a6ad752f16
update some comments
...
llvm-svn: 29853
2006-08-24 00:21:32 +00:00
Nate Begeman
0f0148d5f8
Correctly attribute file author & remote tabs
...
llvm-svn: 29852
2006-08-23 21:33:27 +00:00
Nate Begeman
1268d6cd46
Initial checkin of the Mach-O emitter. There's plenty of fixmes, but it
...
does emit linkable .o files in very simple cases.
llvm-svn: 29850
2006-08-23 21:08:52 +00:00
Reid Spencer
71c3f66dc6
For PR797:
...
Final removal of exceptions from lib/System and adjustment of users to
accommodate.
llvm-svn: 29846
2006-08-23 20:34:57 +00:00
Reid Spencer
b702899462
Fix constructor documentation.
...
llvm-svn: 29845
2006-08-23 17:43:20 +00:00
Reid Spencer
bc4c8e8ac0
For PR797:
...
Eliminate exception throwing from Path::renamePathOnDisk and adjust its
users correspondingly.
llvm-svn: 29843
2006-08-23 07:30:48 +00:00
Reid Spencer
0bc83e3c5e
For PR797:
...
Remove exception throwing from Path::getDirectoryContents and its users.
llvm-svn: 29841
2006-08-23 06:56:27 +00:00
Reid Spencer
baf54399e7
For PR797:
...
Remove exceptions from the Path::create*OnDisk methods. Update their users
to handle error messages via arguments and result codes.
llvm-svn: 29840
2006-08-23 00:39:35 +00:00
Reid Spencer
45120b0798
For PR797:
...
Change the Path::make*OnDisk methods exception free and adjust their usage.
llvm-svn: 29836
2006-08-22 23:27:23 +00:00
Reid Spencer
353b72a7c0
Make the sys::Path::GetTemporaryDirectory method not throw exceptions and
...
adjust users of it to compensate.
llvm-svn: 29831
2006-08-22 19:01:30 +00:00
Chris Lattner
410c49afd3
Improve the LiveInterval class to keep track of which machine instruction
...
defines each value# tracked by the interval. This will be used to improve
coallescing.
llvm-svn: 29830
2006-08-22 18:19:46 +00:00
Reid Spencer
4e1170d5d3
Fix some indentation.
...
llvm-svn: 29825
2006-08-22 17:38:05 +00:00
Chris Lattner
a6735ae8d1
add resize, move swap out of line
...
llvm-svn: 29823
2006-08-22 17:28:57 +00:00
Reid Spencer
e9b9e6a6c2
For PR797:
...
Adjust users of MappedFile to its new non-throwing interface. Note that in
most cases the lazy step of just throwing after a call to MappedFile was
installed. This was done in the name of incremental changes. Getting rid of
the new throw statements will take adjustment of interfaces and propagation
of errors to higher levels. Those changes will come in subsequent patches.
llvm-svn: 29817
2006-08-22 16:06:27 +00:00
Reid Spencer
9fbfd7c399
For PR797:
...
Make MappedFile not throw any exceptions.
llvm-svn: 29816
2006-08-22 16:04:22 +00:00
Chris Lattner
0a5e21e28d
Switch to using smallvector for liveintervals. This speeds up live interval
...
analysis 11% on kc++.
llvm-svn: 29812
2006-08-22 06:32:56 +00:00
Chris Lattner
19d59ce917
add a bunch more operations, including swap, insert, erase, front(), and
...
bugfixes for operator=.
llvm-svn: 29811
2006-08-22 06:27:16 +00:00
Chris Lattner
2e9885371b
move LiveInterval state all together
...
llvm-svn: 29806
2006-08-21 23:15:12 +00:00
Jim Laskey
db9724d6e4
Adding new Dwarf constants.
...
llvm-svn: 29798
2006-08-21 21:18:10 +00:00
Reid Spencer
8b5b0a7fb3
For PR797:
...
Change interface for error recovery without exceptions.
llvm-svn: 29789
2006-08-21 06:00:58 +00:00
Reid Spencer
88f6824b35
Fix the documentation for this file.
...
llvm-svn: 29788
2006-08-21 05:37:03 +00:00
Reid Spencer
eb02f1c668
For PR885:
...
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
llvm-svn: 29787
2006-08-21 05:34:03 +00:00