Chris Lattner
85b1b5aa24
iniital checkin of ELFWriter header.
...
For now, the elf writer is only capable of emitting an empty elf file, with
a section table and a section table string table. This will be enhanced
in the future :)
llvm-svn: 22290
2005-06-27 06:28:45 +00:00
Chris Lattner
82cdeff6db
add some new file types
...
llvm-svn: 22286
2005-06-25 03:31:43 +00:00
Chris Lattner
37688fa81f
refactor these interfaces a bit
...
llvm-svn: 22281
2005-06-25 02:47:50 +00:00
Chris Lattner
24bcb4753a
improve comments
...
llvm-svn: 22280
2005-06-24 18:17:33 +00:00
Andrew Lenharth
8ff5960b39
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
...
llvm-svn: 22267
2005-06-20 15:24:23 +00:00
Andrew Lenharth
ce40ab3077
fix DCE + va_arg problem
...
llvm-svn: 22264
2005-06-19 14:46:20 +00:00
Andrew Lenharth
108f509fb5
header file changes for varargs
...
llvm-svn: 22253
2005-06-18 18:31:30 +00:00
Reid Spencer
58090fdf3d
Make sure a variable is initialized before use to clean up a warning from
...
GCC 4.0.0 in release build.
llvm-svn: 22248
2005-06-18 16:53:27 +00:00
Chris Lattner
96e6d65c22
silence a huge number of bogus warnings with GCC 4 on Reid's tester.
...
llvm-svn: 22244
2005-06-17 13:20:15 +00:00
Tanya Lattner
e8f3fe8b46
Added ModuloSchedSB as a friend class.
...
llvm-svn: 22237
2005-06-17 03:59:51 +00:00
Reid Spencer
0628cd9f1b
Don't lie to the casual reader about Value subclassing from Annotable.
...
llvm-svn: 22215
2005-06-15 18:40:45 +00:00
Nate Begeman
68cd6aa245
Add some operators the PowerPC backend needs to efficiently and correctly
...
generate conditional branches.
llvm-svn: 22214
2005-06-15 18:28:44 +00:00
Chris Lattner
fd4bec23d6
Give the asmparser the ability to parse strings, patch contributed by
...
Alexander Friedman!
llvm-svn: 22145
2005-05-20 03:25:29 +00:00
Chris Lattner
774a5d8b9a
remove deprecated methods
...
llvm-svn: 22076
2005-05-16 01:49:23 +00:00
Reid Spencer
a9e52c8caf
Remove the check for the ffsll function. Its no longer needed by the
...
simplify-libcalls pass (pass now computes it without a call to ffsll).
llvm-svn: 22074
2005-05-15 22:15:11 +00:00
Chris Lattner
ee65cff29c
fix warning
...
llvm-svn: 22060
2005-05-15 17:25:14 +00:00
Chris Lattner
138c960903
fix compiler warning
...
llvm-svn: 22059
2005-05-15 17:23:19 +00:00
Reid Spencer
ba222e3e99
Some cleanups for compilation with GCC 4.0.0 to remove warnings:
...
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.
llvm-svn: 22057
2005-05-15 16:13:11 +00:00
Reid Spencer
9c7bfc232e
Forgot to commit this earlier. Its part of the simplify-libcalls
...
enhancement for ffs, ffsl, and ffsll optimizations. We can't do the opt
unless we also have the at least ffsll function. Notably SVR4 doesn't.
llvm-svn: 22033
2005-05-14 20:04:19 +00:00
Chris Lattner
b9ccf966b8
add a new map
...
llvm-svn: 22017
2005-05-14 07:36:02 +00:00
Chris Lattner
1032d777e6
Add a way to construct an arbitrary node, cleanly.
...
llvm-svn: 22008
2005-05-14 06:20:08 +00:00
Chris Lattner
3afe2d8d83
add accessors
...
llvm-svn: 22007
2005-05-14 06:19:11 +00:00
Chris Lattner
ae59fdbd99
Pass the dag into LowerOperation
...
llvm-svn: 22005
2005-05-14 05:51:05 +00:00
Chris Lattner
9d788e93a6
Add an isTailCall flag to LowerCallTo
...
llvm-svn: 21958
2005-05-13 18:50:42 +00:00
Chris Lattner
97505aa9ac
add TAILCALL node
...
llvm-svn: 21956
2005-05-13 18:40:17 +00:00
Chris Lattner
c79b6eeefd
add a new method
...
llvm-svn: 21929
2005-05-13 07:23:03 +00:00
Chris Lattner
5cd760d12d
allow a virtual register to be associated with live-in values.
...
llvm-svn: 21927
2005-05-13 07:08:07 +00:00
Chris Lattner
094bbfcebb
rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN.
...
llvm-svn: 21915
2005-05-12 23:24:06 +00:00
Chris Lattner
ccb86c9acc
LowerCallTo now takes the cc to use
...
llvm-svn: 21901
2005-05-12 19:57:08 +00:00
Chris Lattner
045b3f0110
Add a little hook
...
llvm-svn: 21883
2005-05-12 02:02:21 +00:00
Chris Lattner
328273326d
new method
...
llvm-svn: 21869
2005-05-11 18:56:45 +00:00
Chris Lattner
9aedca57b1
Add READPORT, WRITEPORT, READIO, WRITEIO nodes, wrap long lines
...
llvm-svn: 21823
2005-05-09 20:21:27 +00:00
Jeff Cohen
eafa15885e
Silence VC++ warnings about unsafe mixing of ints and bools with the | operator.
...
llvm-svn: 21758
2005-05-07 02:44:04 +00:00
Chris Lattner
d2dfcb3c0e
Add support for explicit calling conventions
...
llvm-svn: 21745
2005-05-06 20:26:26 +00:00
Chris Lattner
b1952fe785
New file
...
llvm-svn: 21744
2005-05-06 19:59:08 +00:00
Chris Lattner
027639a16c
add a default arg
...
llvm-svn: 21733
2005-05-06 06:22:10 +00:00
Chris Lattner
72ffd7e7d5
Add a 'tail' marker for call instructions, patch contributed by
...
Alexander Friedman.
llvm-svn: 21722
2005-05-06 05:51:46 +00:00
Misha Brukman
f52511fcc6
Remove vim settings from source code; people should use llvm/utils/vim/vimrc
...
llvm-svn: 21704
2005-05-05 22:33:09 +00:00
Misha Brukman
e2e8059814
Convert tabs to spaces
...
llvm-svn: 21703
2005-05-05 22:30:40 +00:00
Andrew Lenharth
8b64bd0fd5
Implement count leading zeros (ctlz), count trailing zeros (cttz), and count
...
population (ctpop). Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.
More coming soon.
llvm-svn: 21676
2005-05-03 17:19:30 +00:00
Chris Lattner
e53a188512
add direct support for making GEP instrs with one index
...
llvm-svn: 21665
2005-05-03 05:43:30 +00:00
Tanya Lattner
889ebef2ba
Add accessor method,
...
llvm-svn: 21649
2005-05-01 16:22:41 +00:00
Tanya Lattner
ec45f6a4cd
Adding ModuloSched SB.
...
llvm-svn: 21648
2005-05-01 16:14:34 +00:00
Chris Lattner
05d8a36ba7
Expose an option allowing unsafe math optimizations. Patch contributed by
...
Morten Ofstad!
llvm-svn: 21630
2005-04-30 04:09:52 +00:00
Chris Lattner
234ffe2395
Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad
...
llvm-svn: 21627
2005-04-30 03:44:07 +00:00
Chris Lattner
4678a790e6
Add FSQRT, FSIN, FCOS nodes, patch contributed by Morten Ofstad
...
llvm-svn: 21605
2005-04-28 21:44:03 +00:00
Andrew Lenharth
2a00530fa7
Implement Value* tracking for loads and stores in the selection DAG. This enables one to use alias analysis in the backends.
...
(TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null.
llvm-svn: 21599
2005-04-27 20:10:01 +00:00
Jeff Cohen
b555ae8f95
Add SimplyLibCalls.cpp to VC++ build
...
llvm-svn: 21554
2005-04-26 02:57:49 +00:00
Reid Spencer
e952b16f37
Shut GCC 4.0 up about classes that have virtual functions but a non-virtual
...
destructor. Just add the do-nothing virtual destructor.
llvm-svn: 21524
2005-04-25 02:55:55 +00:00
Reid Spencer
a8e0496412
Declare a function to create the SimplifyLibCalls pass.
...
llvm-svn: 21523
2005-04-25 02:54:00 +00:00
Reid Spencer
27134f31f2
Older compilers won't like the inline virtual destructor in the header file
...
so we put the destructor in Pass.cpp and make it non-inline.
llvm-svn: 21520
2005-04-25 01:01:35 +00:00
Reid Spencer
a37ffe4c46
Fix a thinko in the documentation of the splitBasicBlock method. The branch
...
instruction is added to the original block, not the new block.
llvm-svn: 21513
2005-04-25 00:31:53 +00:00
Reid Spencer
2a1b7a35ea
Shut GCC 4.0 up when it complains about classes with virtual functions that
...
don't have virtual destructors.
llvm-svn: 21507
2005-04-24 22:20:32 +00:00
Chris Lattner
d40a7efbbb
allow these to take a generic Value*
...
llvm-svn: 21492
2005-04-24 07:28:04 +00:00
Misha Brukman
353d27c5fc
* The aesthetic police is on patrol!!...
...
* ... but it wasn't so busy as to not smell the roses and doxygenify comments
llvm-svn: 21487
2005-04-23 22:35:26 +00:00
Chris Lattner
9484bc95af
Add a helper method
...
llvm-svn: 21486
2005-04-23 22:20:22 +00:00
Chris Lattner
1fb1ee2b08
This file is never referenced
...
llvm-svn: 21484
2005-04-23 22:00:26 +00:00
Chris Lattner
c40ae24342
add a method, remove a dead #include
...
llvm-svn: 21482
2005-04-23 21:59:42 +00:00
Alkis Evlogimenos
4a22dbec7d
Add method to return the type this type will be promoted to if it is
...
passed through a variable argument function.
llvm-svn: 21462
2005-04-23 00:11:21 +00:00
Misha Brukman
5e38b1e17e
Convert tabs to spaces
...
llvm-svn: 21438
2005-04-22 03:46:24 +00:00
Misha Brukman
7860850b86
Convert tabs to spaces
...
llvm-svn: 21437
2005-04-22 03:35:49 +00:00
Misha Brukman
d292737471
Convert tabs to spaces
...
llvm-svn: 21436
2005-04-22 03:27:20 +00:00
Misha Brukman
af5b49b871
Convert tabs to spaces
...
llvm-svn: 21433
2005-04-22 03:18:56 +00:00
Reid Spencer
f6e98c8cf5
Change some old-style casts to C++ style casts to avoid warnings in XPS
...
compilation. This change has been waiting in the wings for a long time but
since Misha just did a global change, I figured now was the time to commit
it.
llvm-svn: 21431
2005-04-22 02:31:56 +00:00
Misha Brukman
58c97e67f3
Remove trailing whitespace
...
llvm-svn: 21412
2005-04-21 20:59:05 +00:00
Misha Brukman
8018cc9e05
Remove trailing whitespace
...
llvm-svn: 21411
2005-04-21 20:48:15 +00:00
Misha Brukman
4ad5efd1a9
Remove trailing whitespace
...
llvm-svn: 21409
2005-04-21 20:39:54 +00:00
Misha Brukman
3f0aa3dbf8
Remove trailing whitespace
...
llvm-svn: 21408
2005-04-21 20:19:05 +00:00
Reid Spencer
9990a77646
Add two new methods for getting the User Id and Group Id values for the
...
current process.
llvm-svn: 21400
2005-04-21 16:12:04 +00:00
Chris Lattner
4c73570c42
Add doxygen comments, patch contributed by Evan Jones.
...
llvm-svn: 21397
2005-04-21 16:10:03 +00:00
Chris Lattner
8ac773f1f1
add support for taking the address of free.
...
llvm-svn: 21395
2005-04-21 16:08:59 +00:00
Chris Lattner
472c891d23
Improve doxygen documentation, patch contributed by Evan Jones!
...
llvm-svn: 21393
2005-04-21 16:04:49 +00:00
Nate Begeman
ecb5b5c028
Make pattern isel default for ppc
...
Add new ppc beta option related to using condition registers
Make pattern isel control flag (-enable-pattern-isel) global and tristate
0 == off
1 == on
2 == target default
llvm-svn: 21309
2005-04-15 22:12:16 +00:00
Chris Lattner
8456833fa8
new pass
...
llvm-svn: 21307
2005-04-15 21:13:16 +00:00
Chris Lattner
ca287099e1
add a new prototype
...
llvm-svn: 21305
2005-04-15 19:24:49 +00:00
Chris Lattner
41aabb9427
Add a new helper method which returns the and that is equivalent to what
...
ZERO_EXTEND_INREG was.
llvm-svn: 21264
2005-04-13 02:37:19 +00:00
Chris Lattner
f5fe51581b
Remove the ZERO_EXTEND_INREG node which is redundant with AND
...
llvm-svn: 21263
2005-04-13 02:36:41 +00:00
Chris Lattner
ff1eca851a
add an argument.
...
llvm-svn: 21254
2005-04-12 18:51:53 +00:00
Duraid Madina
b7227cd315
rename addU64Imm() to addImm64()
...
llvm-svn: 21223
2005-04-11 07:14:41 +00:00
Jeff Cohen
4ac4db487c
Eliminate major source of VC++ "possible loss of data" warnings.
...
llvm-svn: 21215
2005-04-11 03:38:28 +00:00
Duraid Madina
a416f4bbf3
* store immediate values as int64_t, not int. come on, we should be happy
...
when there are immediates, let's not worry about the memory overhead of
this :)
* add addU64Imm(uint64_t val) to machineinstrbuilder
(seriously: this seems required to support 64-bit immediates cleanly. if it
_really_ gets on your nerves, feel free to pull it out ;) )
coming up next week: "all your floating point constants are belong to us"
llvm-svn: 21208
2005-04-10 09:18:55 +00:00
Chris Lattner
3cbcd49059
add routines to track the livein/out set for a function
...
llvm-svn: 21179
2005-04-09 15:22:53 +00:00
Chris Lattner
b0e6e4b693
Add a new node
...
llvm-svn: 21162
2005-04-09 03:21:50 +00:00
Chris Lattner
6c466448d3
fix this method for 64-bit constants
...
llvm-svn: 21158
2005-04-08 21:31:29 +00:00
Chris Lattner
f275f2af41
Allow targets which produce setcc results in non-MVT::i1 registers to describe
...
what the contents of the top bits of these registers are, in the common cases
of targets that sign and zero extend the results.
llvm-svn: 21145
2005-04-07 19:41:18 +00:00
Chris Lattner
4201b81130
document these nodes, as they are nonobvious
...
llvm-svn: 21108
2005-04-06 04:21:29 +00:00
Nate Begeman
12af81407b
Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64b
...
multiply.
llvm-svn: 21102
2005-04-05 22:36:56 +00:00
Duraid Madina
6b3090447d
a wise man once said:
...
"!!!!!!!! IF YOU CHANGE SPACES TO TABS, YOU WILL BE KILLED!!!!!!"
llvm-svn: 21062
2005-04-03 14:57:35 +00:00
Chris Lattner
dadd36cb34
merge EquivClassGraphs.h into DataStructure.h with the other DSA pass definitions.
...
llvm-svn: 21041
2005-04-02 20:08:06 +00:00
Chris Lattner
8b753bbfd9
add and use a callee_iterator typedef
...
llvm-svn: 21037
2005-04-02 20:02:32 +00:00
Chris Lattner
b58ad4e3eb
Change the ActualCallees callgraph from hash_multimap<Instruction,Function>
...
to std::set<std::pair<Inst,Func>> to avoid duplicate entries.
llvm-svn: 21030
2005-04-02 19:15:15 +00:00
Duraid Madina
3a10f491f0
add support for prefix/suffix strings to go around GlobalValue(s)
...
(which may or be function pointers) in the asmprinter. For the moment,
this changes nothing, except the IA64 backend which can use this to write:
data8.ua @fptr(blah__blah__mangled_function_name)
(by setting FunctionAddrPrefix/Suffix to "@fptr(" / ")")
llvm-svn: 21024
2005-04-02 12:21:51 +00:00
Chris Lattner
e74fa510c9
Add two happy new nodes for FABS and FNEG
...
llvm-svn: 21007
2005-04-02 04:58:28 +00:00
Chris Lattner
92920b74a0
fix a comment
...
llvm-svn: 21003
2005-04-02 03:59:45 +00:00
Chris Lattner
37abadec02
add some new nodes.
...
llvm-svn: 21000
2005-04-02 03:30:33 +00:00
Nate Begeman
4034852ba9
Add ISD::UNDEF node
...
Teach the SelectionDAG code how to expand and promote it
Have PPC32 LowerCallTo generate ISD::UNDEF for int arg regs used up by fp
arguments, but not shadowing their value. This allows us to do the right
thing with both fixed and vararg floating point arguments.
llvm-svn: 20988
2005-04-01 22:34:39 +00:00
Misha Brukman
b5dc9aae6c
Fix spelling of `corresponds'
...
llvm-svn: 20966
2005-03-31 21:30:35 +00:00
Andrew Lenharth
7db3834ecf
PCMarker support for DAG and Alpha
...
llvm-svn: 20965
2005-03-31 21:24:06 +00:00
Andrew Lenharth
c287cd1e4e
First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.
...
llvm-svn: 20900
2005-03-28 20:05:49 +00:00
Jeff Cohen
1be6e1cb99
Fix VC++ build breakage
...
llvm-svn: 20888
2005-03-28 02:52:28 +00:00
Alkis Evlogimenos
e0e628a401
Rename createPromoteMemoryToRegister() to
...
createPromoteMemoryToRegisterPass() to be consistent with other pass
creation functions.
llvm-svn: 20885
2005-03-28 02:01:12 +00:00
Nate Begeman
e0ab2218d1
Change LowerCallTo to take a boolean isVarArg argument. This is needed
...
by the PowerPC backend, and probably others in the future.
llvm-svn: 20843
2005-03-26 01:30:30 +00:00
Chris Lattner
df0b2499ae
add new spliceFrom methods.
...
llvm-svn: 20823
2005-03-24 23:45:20 +00:00
Chris Lattner
07f8360573
if a function doesn't access memory at all, it definitely doesn't read it.
...
llvm-svn: 20794
2005-03-23 23:27:34 +00:00
Chris Lattner
03631d6bc4
a hack to allow count-aa to work with ds-aa :(
...
llvm-svn: 20791
2005-03-23 21:59:34 +00:00
Chris Lattner
deb71bf41d
Fix a serious bug where we didn't insert globals into the globalset when
...
cloning a graph.
llvm-svn: 20770
2005-03-22 19:44:11 +00:00
Chris Lattner
b2d5129f59
add a method
...
llvm-svn: 20761
2005-03-22 01:42:10 +00:00
Chris Lattner
0ed923c45a
Now that the dead ctor is gone, nothing uses the old node mapping exported by
...
cloneInto: make it an internally used mapping.
llvm-svn: 20760
2005-03-22 00:36:51 +00:00
Chris Lattner
4264b1d97e
remove a dead ctor
...
llvm-svn: 20759
2005-03-22 00:33:35 +00:00
Chris Lattner
81a96c578c
now that the second argument is always this->ReturnNodes, don't bother passing it.
...
llvm-svn: 20758
2005-03-22 00:29:44 +00:00
Chris Lattner
d76fbaa604
drop the second argument to cloneInto, which is always the local scalar map.
...
llvm-svn: 20753
2005-03-22 00:20:56 +00:00
Chris Lattner
49d2b42d89
move this stuff out of line
...
llvm-svn: 20750
2005-03-22 00:09:36 +00:00
Chris Lattner
dc160907ad
allow passing clone flags into the ctor
...
llvm-svn: 20747
2005-03-21 22:49:43 +00:00
Chris Lattner
ed74103e0c
add a new map
...
llvm-svn: 20742
2005-03-21 20:29:56 +00:00
Chris Lattner
8b4af69d5b
make this const correct
...
llvm-svn: 20741
2005-03-21 20:28:50 +00:00
Chris Lattner
7c6e697cc6
Ugh, for some reason, I can't call this unless the reference is const!?!?!?
...
llvm-svn: 20732
2005-03-21 10:00:45 +00:00
Chris Lattner
37f099ae83
Make the first operand of this method be modifiable.
...
llvm-svn: 20730
2005-03-21 09:39:20 +00:00
Chris Lattner
64f3947426
add a method
...
llvm-svn: 20729
2005-03-21 09:38:39 +00:00
Chris Lattner
7550f93ef5
If merging two calls like: foo(A) and bar(B, C), make sure the result has two
...
arguments, not one.
llvm-svn: 20728
2005-03-21 09:18:39 +00:00
Chris Lattner
df1aa8b6ed
rename a method add a data structure.
...
llvm-svn: 20722
2005-03-21 04:46:35 +00:00
Chris Lattner
5c37c87195
Provide a guaranteed definition of intptr_t. Thansk to Evan Jones for
...
pointing this out!
llvm-svn: 20721
2005-03-21 01:36:35 +00:00
Chris Lattner
334f54c1a0
Remove the InlinedGlobals set which is always empty.
...
llvm-svn: 20715
2005-03-20 04:30:16 +00:00
Chris Lattner
d5c24fc737
add a method
...
llvm-svn: 20709
2005-03-20 03:29:39 +00:00
Chris Lattner
e0771155f6
rename some methods and add some new methods for dealing with the globals list
...
in a DSNode.
llvm-svn: 20701
2005-03-20 02:38:39 +00:00
Misha Brukman
c85dd5e38e
Constant-propagate the value of `isL' variable and eliminate it.
...
llvm-svn: 20698
2005-03-19 23:39:50 +00:00
Jeff Cohen
c5c4aa7911
Silence VC++ warning about mixing intptr_t and bool, and about unused variable isL.
...
llvm-svn: 20697
2005-03-19 22:36:39 +00:00
Chris Lattner
5fc6764893
Make each scalar map contain a reference to an equivalence class of global
...
variables. Do not insert a global into the scalar map unless it is the
leader of its equivalence class.
llvm-svn: 20695
2005-03-19 22:13:13 +00:00
Chris Lattner
f279754707
Each DS collection now contains an equivalence class of globals values.
...
llvm-svn: 20694
2005-03-19 22:12:33 +00:00
Chris Lattner
09ef2499f6
add a method to clear globals from a node
...
llvm-svn: 20693
2005-03-19 22:12:03 +00:00
Chris Lattner
19068b431e
Two fixes for the copy ctor/operator=:
...
1. Make sure to clear() 'this' before adding elements to it
2. Make sure that the leaders of the RHS EC are the leaders of the LHS EC.
llvm-svn: 20692
2005-03-19 21:02:12 +00:00
Chris Lattner
d9b3369aa9
add some methods, fix a major bug in getLeader() that was causing things to
...
not be unified correctly.
llvm-svn: 20691
2005-03-19 20:42:43 +00:00
Chris Lattner
e4d74b8d85
implement a proper copy ctor, operator= and add a helper method.
...
llvm-svn: 20690
2005-03-19 19:26:14 +00:00
Alkis Evlogimenos
19bea8930f
Add new function getPtrPtrFromArrayPtr().
...
llvm-svn: 20684
2005-03-19 11:40:31 +00:00
Chris Lattner
b3103a3768
Rewrite this class, making the following improvements:
...
1. It now actually uses tarjan's algorithm, so it is a efficient inverse
ackerman's function for union operations, not linear time.
2. It now stores one copy of the data in the set instead of two.
3. It now works for elements other than pointers.
4. It now has a more STL-like interface that exposes iterators instead
of internal implementation details.
llvm-svn: 20677
2005-03-19 05:14:29 +00:00
Chris Lattner
ea7615d853
add 3 methods
...
llvm-svn: 20667
2005-03-17 23:45:35 +00:00
Duraid Madina
8b010ff8d2
dainty
...
llvm-svn: 20653
2005-03-17 18:23:22 +00:00
Chris Lattner
e0b373b2c3
remove compat_iterator, which is dead in the tree.
...
llvm-svn: 20644
2005-03-16 22:42:45 +00:00
Chris Lattner
0332fdf1d9
remove use of compat_iterator
...
llvm-svn: 20642
2005-03-16 22:42:01 +00:00
Jeff Cohen
b169eae709
Don't provide default hash struct instantiation.
...
llvm-svn: 20639
2005-03-16 05:49:06 +00:00
Jeff Cohen
f52b95ac20
Add adapter class to let VC++ hash_map use GCC's hash struct.
...
llvm-svn: 20637
2005-03-16 05:25:09 +00:00
Misha Brukman
ff0255f345
Fix grammar wrt apostrophe's
...
llvm-svn: 20635
2005-03-16 03:54:50 +00:00
Misha Brukman
d5e8033d4a
Convert tabs to spaces
...
llvm-svn: 20634
2005-03-16 03:46:55 +00:00
Chris Lattner
82b219432d
remove warning, make computeGGToGMapping return an invnodemap.
...
llvm-svn: 20621
2005-03-15 17:52:07 +00:00
Chris Lattner
4db93bc8d2
add support for hashing nodehandles.
...
llvm-svn: 20620
2005-03-15 17:51:51 +00:00
Chris Lattner
0376862732
add iterators for return nodes list.
...
llvm-svn: 20617
2005-03-15 16:46:11 +00:00
Jeff Cohen
c6d8a9188b
Do it right...
...
llvm-svn: 20605
2005-03-15 06:21:40 +00:00
Jeff Cohen
c456e6eceb
Fix VC++ breakage.
...
llvm-svn: 20604
2005-03-15 06:15:08 +00:00
Chris Lattner
3333cbe988
remove reverse BB iterators.
...
llvm-svn: 20601
2005-03-15 05:17:48 +00:00
Chris Lattner
a2fd75ccf7
remove a whole bunch of dead methods. Noone should use reverse iterators anyway.
...
llvm-svn: 20600
2005-03-15 05:13:47 +00:00
Chris Lattner
eb2e04e812
Rename method, add counterpart.
...
llvm-svn: 20592
2005-03-15 00:58:09 +00:00
Chris Lattner
fe56642977
Remove the reverse iterators for arguments and global vars.
...
Rename argument iterators arg_* instead of a*
Remove global variable iterators global_* instead of g*.
Keep the old names for temporary compatibility.
Patch contributed by Gabor Greif!
llvm-svn: 20591
2005-03-14 23:49:40 +00:00
Chris Lattner
fa7bf4a21e
Add a useful method.
...
llvm-svn: 20587
2005-03-14 19:22:33 +00:00
Chris Lattner
252d6277b5
Add support for printing EQ graphs
...
llvm-svn: 20581
2005-03-13 19:50:40 +00:00
Chris Lattner
183a6977d2
add a helper method
...
llvm-svn: 20578
2005-03-13 19:04:04 +00:00
Chris Lattner
a4bd8bd9b0
remove this from the PA namespace, leaving it in the llvm ns
...
llvm-svn: 20574
2005-03-12 12:08:52 +00:00
Chris Lattner
848760c21f
Move this from the pool allocator project to here, where it logically belongs.
...
llvm-svn: 20570
2005-03-12 11:51:30 +00:00
Chris Lattner
5c9c611068
Use static_cast and #include Instructions.h
...
llvm-svn: 20528
2005-03-09 05:35:16 +00:00
Chris Lattner
43d8ea234d
export two methods
...
llvm-svn: 20526
2005-03-09 05:34:23 +00:00
Chris Lattner
1b4201e69f
Fix problems compiling with G++ 4.x.x with -pedantic. Thanks to
...
Vladimir Merzliakov for the patch!
llvm-svn: 20513
2005-03-07 20:35:45 +00:00
Chris Lattner
ef140e77e6
new helper method
...
llvm-svn: 20491
2005-03-06 20:55:34 +00:00
Chris Lattner
3183eeac8f
move some method declarations around to make it clear that users should
...
not call insert(Value *Val), remove(Value* Val), or
changeName(Value *V, const std::string &Name)
llvm-svn: 20488
2005-03-06 06:03:44 +00:00
Chris Lattner
eddc6b4dc2
this method is never called.
...
llvm-svn: 20487
2005-03-06 06:00:24 +00:00
Chris Lattner
0371aef9a2
the only caller of insertEntry is insert, inline it and remove insertEntry
...
llvm-svn: 20485
2005-03-06 05:56:02 +00:00
Chris Lattner
e0a963283c
remove this method.
...
llvm-svn: 20482
2005-03-06 05:50:49 +00:00
Chris Lattner
6871e22bce
Delete the really inefficient method: void remove(const Type* Typ);
...
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
llvm-svn: 20480
2005-03-06 05:46:00 +00:00
Chris Lattner
b186974c85
InternallyInconsistent is dead!
...
llvm-svn: 20478
2005-03-06 05:22:05 +00:00
Chris Lattner
5549ad2f5d
remove these dead methods.
...
llvm-svn: 20475
2005-03-06 02:38:24 +00:00
Chris Lattner
8921259a3b
nuke some dead methods.
...
llvm-svn: 20470
2005-03-06 02:25:02 +00:00
Chris Lattner
60929fdff1
Add a new method, allow symtab to poke name.
...
llvm-svn: 20468
2005-03-06 02:10:40 +00:00
Chris Lattner
698c09c597
remove extraneous spaces from argument lists.
...
llvm-svn: 20465
2005-03-05 19:58:40 +00:00
Chris Lattner
b177010d51
remove all of the various setName implementations, consolidating them into
...
Value::setName, which is no longer virtual.
llvm-svn: 20464
2005-03-05 19:51:50 +00:00
Chris Lattner
93642ede7d
Remove the second argument to Value::setName, it is never needed.
...
llvm-svn: 20457
2005-03-05 18:59:36 +00:00
Jeff Cohen
29ecafb2e3
Add support for not strength reducing GEPs where the element size is a small
...
power of two. This emphatically includes the zeroeth power of two.
llvm-svn: 20429
2005-03-04 04:04:26 +00:00
Chris Lattner
f43446fb2f
Add an argument.
...
llvm-svn: 20413
2005-03-03 01:03:10 +00:00
Chris Lattner
61e4645073
Now that type does not derive from Value, these do not need to be virtual.
...
llvm-svn: 20393
2005-03-02 03:43:55 +00:00
Chris Lattner
df11946bb8
Add a prefetch intrinsic, patch contributed by Justin Wick!
...
llvm-svn: 20374
2005-02-28 19:25:57 +00:00
Chris Lattner
970db20de4
Fix this to create a recursive mutex. Patch by Evan Jones!
...
llvm-svn: 20355
2005-02-27 19:07:36 +00:00
Chris Lattner
4750a2274f
Rename include guard, patch contributed by Evan Jones!
...
llvm-svn: 20353
2005-02-27 19:05:24 +00:00
Chris Lattner
cf3862ce8d
Fix spelling, patch contributed by Gabor Greif
...
llvm-svn: 20342
2005-02-27 06:15:51 +00:00
Reid Spencer
24b41ba78d
Implement an isBytecodeArchive method to determine if an archive contains
...
bytecode file members or not.
Patch Contributed By Adam Treat
llvm-svn: 20338
2005-02-26 22:00:32 +00:00
Chris Lattner
f1e7201a6c
Fix a case where we incorrectly returned hasComputableLoopEvolution for
...
a ternary commutative expr. Remove FIXME that does not need to be fixed
(can't happen).
llvm-svn: 20335
2005-02-26 18:40:02 +00:00
Chris Lattner
902d9dc660
switch instructions only allow constantints for their values, be more specific.
...
llvm-svn: 20298
2005-02-24 05:32:09 +00:00
Chris Lattner
8044aa8d33
add a new method.
...
llvm-svn: 20293
2005-02-24 02:37:26 +00:00
Chris Lattner
fb1c36cdb3
Add new method.
...
llvm-svn: 20287
2005-02-23 16:50:59 +00:00
Chris Lattner
a43f090dcd
remove some more dead templates and a dead macro.
...
llvm-svn: 20279
2005-02-22 23:36:37 +00:00
Chris Lattner
2024801b74
Remove a bunch of dead templates.
...
llvm-svn: 20275
2005-02-22 23:19:42 +00:00
Jeff Cohen
b83e650f1f
Change __MINGW to __MINGW32__. Patch submitted by Henrik Bach.
...
llvm-svn: 20243
2005-02-19 03:01:13 +00:00
Chris Lattner
10f39c27ee
Map doubles from integers, not the double itself.
...
llvm-svn: 20229
2005-02-17 20:16:58 +00:00
Chris Lattner
e7d2b05fb0
Add a new method to make it easy to update graphs.
...
llvm-svn: 20194
2005-02-15 18:40:55 +00:00
Chris Lattner
c2aa286697
Move private helper function into the only .cpp file that uses it.
...
llvm-svn: 20169
2005-02-13 23:14:06 +00:00
Chris Lattner
4d06277d43
Do not replace ostream << Module*, only ostream << Module&.
...
llvm-svn: 20157
2005-02-13 19:15:01 +00:00
Chris Lattner
4d1409f15a
Add a new replaceSymbolicValuesWithConcrete method to the SCEV class,
...
adjust const'ness a bit to be more correct.
llvm-svn: 20145
2005-02-13 04:34:51 +00:00
Chris Lattner
7636e86e7e
Add some iterators that should have come in long ago
...
llvm-svn: 20085
2005-02-09 03:14:29 +00:00
Chris Lattner
a378bec169
Hopefully fix the build on Darwin with GCC 3.3
...
llvm-svn: 20064
2005-02-07 16:09:01 +00:00
Chris Lattner
9b289130f7
Eliminate the explicit opcode field in ConstantExpr, using the SubclassData
...
field to hold it instead. This shrinks memory usage for 176.gcc from
57628728 to 57598144 bytes, a small reduction of about 30K.
llvm-svn: 20047
2005-02-05 02:00:12 +00:00
Chris Lattner
7eb45f89a5
Eliminate the explicit volatile fields in LoadInst and StoreInst. This shrinks
...
LoadInst from 60 -> 56 bytes and StoreInst from 76 -> 72 bytes.
Note however, that this doesn't actually save any memory on common systems
where 'malloc' returns 8-byte aligned memory, as the saved space is replaced
by useless alignment padding. :(
llvm-svn: 20046
2005-02-05 01:44:18 +00:00
Chris Lattner
de2bf4ed11
SubclassID is really a small field. Split it into half and let subclasses
...
play with the unused part.
llvm-svn: 20043
2005-02-05 01:37:44 +00:00
Chris Lattner
0febe1ed81
Add some new members
...
llvm-svn: 20034
2005-02-04 19:58:06 +00:00
Chris Lattner
820991042d
add new member
...
llvm-svn: 20033
2005-02-04 19:57:57 +00:00
Chris Lattner
22eb2f789e
Add a new method.
...
llvm-svn: 20017
2005-02-03 18:40:05 +00:00
Chris Lattner
3757dc8600
remove dead method
...
llvm-svn: 19977
2005-02-01 21:37:06 +00:00
Chris Lattner
fdbedbbb45
Switch from using an ilist for uses to using a custom doubly linked list.
...
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).
This change means that use iterators are now only forward iterators, not
bidirectional.
This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'. While it would be better to reduce the multiplied factor,
I'm not smart enough to do so. This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.
This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction. It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).
llvm-svn: 19956
2005-02-01 01:22:06 +00:00
Chris Lattner
ee6bc42f3e
* Make some methods more const correct.
...
* Change the FunctionCalls and AuxFunctionCalls vectors into std::lists.
This makes many operations on these lists much more natural, and avoids
*exteremely* expensive copying of DSCallSites (e.g. moving nodes around
between lists, erasing a node from not the end of the vector, etc).
With a profile build of analyze, this speeds up BU DS from 25.14s to
12.59s on 176.gcc. I expect that it would help TD even more, but I don't
have data for it.
This effectively eliminates removeIdenticalCalls and children from the
profile, going from 6.53 to 0.27s.
llvm-svn: 19939
2005-01-30 23:51:02 +00:00
Chris Lattner
92b24431d9
Improve spelling
...
llvm-svn: 19931
2005-01-30 00:13:34 +00:00
Chris Lattner
382abe80a0
Improve conformance with the Misha spelling benchmark suite
...
llvm-svn: 19930
2005-01-30 00:09:23 +00:00
Chris Lattner
e9c443b500
Adjust to ilist changes.
...
Based on the ilist changes avoid allocating an entire Use object for the
end of the Use chain. This saves 8 bytes of memory for each Value allocated
in the program. For 176.gcc, this reduces us from 69.5M -> 66.0M, a 5.3%
memory savings.
llvm-svn: 19925
2005-01-29 18:43:28 +00:00
Chris Lattner
aa4ae8f5b3
Adjust to ilist changes.
...
llvm-svn: 19923
2005-01-29 18:41:12 +00:00
Chris Lattner
1367f39eb9
Adjust to changes in ilist
...
llvm-svn: 19922
2005-01-29 18:41:00 +00:00
Chris Lattner
3a8cb1178e
Rename createNode -> createSentinal.
...
Add a new method, destroySentinal, that is used to delete it (instead of
requiring use of delete.
llvm-svn: 19921
2005-01-29 18:40:19 +00:00
Chris Lattner
3f035ee52d
There is no reason to include ostream here, include iosfwd instead.
...
This file was schizophrenic when it came to representing sizes. In some
cases it represented them as 'unsigneds', which are not enough for 64-bit
hosts. In other cases, it represented them as uint64_t's, which are
inefficient for 32-bit hosts.
This patch unifies all of the sizes to use size_t instead.
llvm-svn: 19917
2005-01-29 17:16:07 +00:00
Chris Lattner
41114c90af
Fix quotes.
...
llvm-svn: 19909
2005-01-29 06:29:45 +00:00
Jeff Cohen
8d28a62773
Unbreak VC++ build
...
llvm-svn: 19908
2005-01-29 06:27:16 +00:00
Chris Lattner
3b3e7f7cc2
Memory used is a delta between memuse at the start of the time and the
...
memuse at the end, thus it is signed.
llvm-svn: 19904
2005-01-29 05:21:16 +00:00
Chris Lattner
d8266ae3dd
Adjust to changes in the User class.
...
llvm-svn: 19888
2005-01-29 00:33:00 +00:00
Chris Lattner
941fce0bb5
Adjust to changes in the User class. Introduce a new UnaryInstruction
...
class.
llvm-svn: 19887
2005-01-29 00:32:51 +00:00
Chris Lattner
1567599aae
Adjust to user changes.
...
llvm-svn: 19886
2005-01-29 00:32:00 +00:00
Chris Lattner
6e2367383d
Many changes to cope with the User.h changes. Instructions now generally
...
directly embed their operands.
llvm-svn: 19885
2005-01-29 00:31:36 +00:00
Chris Lattner
91422cffe4
Adjust to User.h changes.
...
llvm-svn: 19884
2005-01-29 00:30:52 +00:00
Chris Lattner
c6c1106909
Instead of storing operands as std::vector<Use>, just maintain a pointer
...
and num operands in the User class. this allows us to embed the operands
directly in the subclasses if possible. For example, for binary operators
we store the two operands in the derived class.
The has several effects:
1. it improves locality because the operands and instruction are together
2. it makes accesses to operands faster (one less load) if you access them
through the derived class pointer. For example this:
Value *GetBinaryOperatorOp(BinaryOperator *I, int i) {
return I->getOperand(i);
}
Was compiled to:
_Z19GetBinaryOperatorOpPN4llvm14BinaryOperatorEi:
movl 4(%esp), %edx
movl 8(%esp), %eax
sall $4, %eax
movl 24(%edx), %ecx
addl %ecx, %eax
movl (%eax), %eax
ret
and is now compiled to:
_Z19GetBinaryOperatorOpPN4llvm14BinaryOperatorEi:
movl 8(%esp), %eax
movl 4(%esp), %edx
sall $4, %eax
addl %edx, %eax
movl 44(%eax), %eax
ret
Accesses through "Instruction*" are unmodified.
3. This reduces memory consumption (by about 3%) by eliminating 1 word of
vector overhead and a malloc header on a seperate object.
4. This speeds up gccas about 10% (both debug and release builds) on
large things (such as 176.gcc). For example, it takes a debug build
from 172.9 -> 155.6s and a release gccas from 67.7 -> 61.8s
llvm-svn: 19883
2005-01-29 00:29:39 +00:00
Chris Lattner
a7ce993d7f
Do not clean up if the MappedFile was never used or if the client already
...
closed the file. This unbreaks the build.
llvm-svn: 19871
2005-01-28 16:08:23 +00:00
Jeff Cohen
29092b4f26
Get VC++ compiling again
...
llvm-svn: 19869
2005-01-28 07:29:32 +00:00
Reid Spencer
dab05f06a4
Convert some old C-style casts to C++ style.
...
llvm-svn: 19868
2005-01-28 07:22:20 +00:00
Chris Lattner
d009d52fe5
Add some methods.
...
llvm-svn: 19817
2005-01-24 19:55:34 +00:00
Misha Brukman
b2961bf931
primitive' has no
a'
...
llvm-svn: 19808
2005-01-24 16:28:03 +00:00
Chris Lattner
b7a64c49f0
Do not return true from isSized for things without a size (like functions and
...
labels) even though they are concrete. This fixes the DSA regressions from
last night.
llvm-svn: 19807
2005-01-24 16:00:52 +00:00
Chris Lattner
766ad3378c
This giant patch speeds up Type::isSized(). Before, this would have to search
...
large nested types over and over again to determine if they are sized or not.
Now, isSized() is able to make snap decisions about all concrete types, which
are a common occurance (and includes all primitives).
On 177.mesa, this speeds up DSE from 39.5s -> 21.3s and GCSE from
13.2s -> 11.3s, reducing gccas time from 80s -> 61s (this is a debug build).
DSE and GCSE are still too slow on this testcase, but this is a simple
improvement.
llvm-svn: 19800
2005-01-24 02:08:34 +00:00
Chris Lattner
65c4c91477
Add an accessor.
...
llvm-svn: 19794
2005-01-23 22:57:27 +00:00
Chris Lattner
38249d15df
Expose more information from register allocation to passes that run after
...
it.
llvm-svn: 19788
2005-01-23 22:13:36 +00:00
Chris Lattner
519fcf19c2
Give SelectionDAG a TargetLowering instance instead of TM instance.
...
llvm-svn: 19778
2005-01-23 04:36:06 +00:00
Chris Lattner
18d4178fe6
Remove two dead methods and improve the comments for DiffFilesWithTolerance.
...
Also, make DiffFilesWithTolerance take sys::Path objects instead of std::strings.
llvm-svn: 19770
2005-01-23 03:30:39 +00:00
Chris Lattner
236f3c69b8
New method.
...
llvm-svn: 19765
2005-01-23 03:11:38 +00:00
Jeff Cohen
43692e25e9
Fix VC++ complaint
...
llvm-svn: 19747
2005-01-22 16:30:58 +00:00
Chris Lattner
9ee3bbc844
Keep track of node depth for each node
...
llvm-svn: 19732
2005-01-21 21:39:38 +00:00
Chris Lattner
bd8da4c80e
Apparently destroyFile() now throws an exception. Since this class is
...
designed to be put on the stack, that's not cool. Catch and ignore the
exception.
llvm-svn: 19723
2005-01-20 23:31:35 +00:00
Chris Lattner
8e17ad37f2
Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS instead.
...
llvm-svn: 19713
2005-01-20 18:50:39 +00:00
Chris Lattner
7005632b59
Add an accessor for targets that pass args in regs
...
llvm-svn: 19702
2005-01-19 20:19:58 +00:00
Chris Lattner
2a03fa3a5c
Add a new method, described in the comment.
...
llvm-svn: 19683
2005-01-19 06:53:02 +00:00
Jeff Cohen
a3414ac8c7
Add missing data types for VC++
...
llvm-svn: 19680
2005-01-19 05:08:31 +00:00
Chris Lattner
4938a7c8a1
Move all data members to the end of the class.
...
Add a hook to find out how the target handles shift amounts that are out of
range. Either they are undefined (the default), they mask the shift amount
to the size of the register (X86, Alpha, etc), or they extend the shift (PPC).
This defaults to undefined, which is conservatively correct.
llvm-svn: 19676
2005-01-19 03:36:03 +00:00
Chris Lattner
0697def39d
Keep track of the returned value type as well.
...
llvm-svn: 19669
2005-01-18 19:26:18 +00:00
Chris Lattner
818e819e43
Allow setcc operations to have non-bool types.
...
llvm-svn: 19655
2005-01-18 02:51:41 +00:00
Chris Lattner
e2fd07b43d
Make methods private, add a method.
...
llvm-svn: 19634
2005-01-17 17:14:43 +00:00
Chris Lattner
783a9d8893
Add methods
...
llvm-svn: 19627
2005-01-17 02:24:59 +00:00
Chris Lattner
8dd332e4e5
Add comments
...
Add fields to hold the result type of setcc operations and shift amounts.
llvm-svn: 19618
2005-01-16 23:59:30 +00:00
Chris Lattner
e38f72316d
Revamp supported ops. Instead of just being supported or not, we now keep
...
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.
llvm-svn: 19609
2005-01-16 07:27:49 +00:00
Reid Spencer
5d058e0ec8
Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
...
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.
llvm-svn: 19600
2005-01-16 02:58:39 +00:00
Chris Lattner
605b9a23a2
Improve compatiblity with HPUX on Itanium, patch by Duraid Madina
...
llvm-svn: 19586
2005-01-16 01:31:31 +00:00
Chris Lattner
dfb3741f64
Improve compatibility with aCC on HPUX. Patch by Duraid Madina
...
llvm-svn: 19585
2005-01-16 01:22:18 +00:00
Chris Lattner
1d0e1ffe02
Move some information out of LegalizeDAG into the generic Target interface.
...
llvm-svn: 19581
2005-01-16 01:10:58 +00:00
Chris Lattner
ee53940434
Add some helper methods.
...
llvm-svn: 19570
2005-01-15 06:52:18 +00:00
Chris Lattner
2f65e8798f
Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
...
llvm-svn: 19568
2005-01-15 06:17:04 +00:00
Chris Lattner
98611ce291
Add a new target-independent code generator flag.
...
llvm-svn: 19567
2005-01-15 06:00:32 +00:00
Chris Lattner
3df2651c81
Change CopyFromReg to take and produce a chain node, allowing it to be used
...
with physregs that are not live across the entire block.
llvm-svn: 19560
2005-01-14 22:37:20 +00:00
Chris Lattner
c73bf62770
Start adding some new operators, give IMPLICIT_DEF a chain operand.
...
llvm-svn: 19558
2005-01-14 22:07:46 +00:00
Chris Lattner
eff86ebbc3
Add a method
...
llvm-svn: 19540
2005-01-13 23:26:28 +00:00
Chris Lattner
c6f23adb2a
Add a method
...
llvm-svn: 19538
2005-01-13 22:58:50 +00:00
Chris Lattner
7a8788c9ac
Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.
...
llvm-svn: 19535
2005-01-13 20:50:02 +00:00
Chris Lattner
000509e7b0
Add a new node type, add comments.
...
llvm-svn: 19525
2005-01-13 17:58:35 +00:00
Chris Lattner
92c07c0dba
New method.
...
llvm-svn: 19516
2005-01-12 18:37:33 +00:00
Chris Lattner
f01a5206ea
Update comments to indicate CopyFrom/ToReg take physregs as well as vregs.
...
llvm-svn: 19514
2005-01-12 18:11:36 +00:00
Reid Spencer
710115945a
Fix the documentation for executeAndWait so the argument comments are
...
actually attributed to the arguments by doxygen.
llvm-svn: 19473
2005-01-11 06:37:27 +00:00
Chris Lattner
1b9caa4504
Add MEMSET/MEMCPY/MEMMOVE operations. Fix a really bad bug in the vector
...
SDNode ctor.
llvm-svn: 19462
2005-01-11 05:56:17 +00:00
Chris Lattner
a942f987c0
Add support for bottom-up graphs.
...
llvm-svn: 19446
2005-01-11 00:24:59 +00:00
Chris Lattner
9ed0d66c8a
Add a helper method.
...
llvm-svn: 19442
2005-01-10 23:25:04 +00:00
Chris Lattner
a4f7c88eb6
Add support for graph operations, and add a viewGraph method to SelectionDAG.
...
llvm-svn: 19440
2005-01-10 23:05:53 +00:00
Chris Lattner
3db5a50eb5
Add a helper method
...
llvm-svn: 19439
2005-01-10 23:05:07 +00:00
Jeff Cohen
8b03a55724
Apply feedback from Chris.
...
llvm-svn: 19432
2005-01-10 04:23:32 +00:00
Jeff Cohen
a7f1ae5dc0
Apply feed back from Chris:
...
1. Rename createLoaderPass to CreateProfileLoaderPass
2. Opt shouldn't use the pass registered in CodeGen.
llvm-svn: 19431
2005-01-10 03:56:27 +00:00
Jeff Cohen
f692cd303d
Add last four createXxxPass functions
...
llvm-svn: 19424
2005-01-09 20:42:52 +00:00
Jeff Cohen
6827f061cc
Get lib/Analysis/DataStructure to compile with VC++
...
llvm-svn: 19412
2005-01-09 04:18:28 +00:00
Chris Lattner
42dd85fc56
Add interfaces to lower varargs and return/frame address intrinsics.
...
llvm-svn: 19406
2005-01-09 00:00:31 +00:00
Jeff Cohen
3cd512f524
Fix VC++ compilation error
...
llvm-svn: 19403
2005-01-08 22:44:06 +00:00
Jeff Cohen
6c0db8d863
Add even more missing createXxxPass functions.
...
llvm-svn: 19402
2005-01-08 22:01:16 +00:00
Chris Lattner
1a057a2b37
Allow array types to have 64-bit size.
...
llvm-svn: 19394
2005-01-08 20:19:27 +00:00
Jeff Cohen
aef3f70921
Use size_t instead of long to represent memory usage. long is 32 bits
...
on 64-bit Windows.
llvm-svn: 19393
2005-01-08 20:15:57 +00:00
Chris Lattner
911dca53ee
Adjust prototype
...
llvm-svn: 19387
2005-01-08 19:57:49 +00:00
Chris Lattner
a58b3f48ef
Silence VS warnings.
...
llvm-svn: 19384
2005-01-08 19:52:31 +00:00
Chris Lattner
2a75da3851
Make LowerCallTo more generic and useful.
...
llvm-svn: 19373
2005-01-08 19:25:39 +00:00
Jeff Cohen
69ed91d1ca
Add a few more passes to LinkAllPasses.h
...
llvm-svn: 19371
2005-01-08 18:15:23 +00:00
Jeff Cohen
ce541ade79
Add more missing createXxxPass functions.
...
llvm-svn: 19370
2005-01-08 17:21:40 +00:00
Chris Lattner
e4cd40b379
Add operators for FP -> INT conversions and back.
...
llvm-svn: 19368
2005-01-08 08:08:49 +00:00
Chris Lattner
6182c88b85
Add a new SelectionDAG::RemoveDeadNodes method
...
llvm-svn: 19344
2005-01-07 21:08:55 +00:00
Jeff Cohen
6b821ecd16
Fix include. Too easy to make mistakes like this on Windows :(
...
llvm-svn: 19343
2005-01-07 19:21:49 +00:00
Jeff Cohen
a97d6be787
Get new SelectionDAG stuff building with Visual Studio.
...
llvm-svn: 19340
2005-01-07 15:52:36 +00:00
Jeff Cohen
d8ac84c3f3
But not the identation of THAT line
...
llvm-svn: 19328
2005-01-07 07:46:40 +00:00
Chris Lattner
c72669973a
Complete rewrite of the SelectionDAG class.
...
llvm-svn: 19327
2005-01-07 07:46:32 +00:00
Chris Lattner
409c6158ad
Common base class for SelectionDAG-based instruction selectors.
...
llvm-svn: 19326
2005-01-07 07:46:03 +00:00
Chris Lattner
c5b77f7009
Initial implementation of the nodes in a SelectionDAG.
...
llvm-svn: 19325
2005-01-07 07:45:27 +00:00
Chris Lattner
01ed041b94
First draft of a new Target interface
...
llvm-svn: 19323
2005-01-07 07:44:22 +00:00
Jeff Cohen
8a926637e2
Correct indentation levels
...
llvm-svn: 19322
2005-01-07 07:44:02 +00:00
Chris Lattner
83deb67391
Add convenience method.
...
llvm-svn: 19321
2005-01-07 07:40:32 +00:00
Jeff Cohen
c07c54f5b4
Add missing createXxxPass functions
...
llvm-svn: 19319
2005-01-07 06:57:28 +00:00
Misha Brukman
8b60d3e9df
Fix spelling.
...
llvm-svn: 19317
2005-01-07 06:45:07 +00:00
Jeff Cohen
83039834d7
Update list of passes
...
llvm-svn: 19316
2005-01-07 06:12:41 +00:00
Jeff Cohen
8d5d10078b
Fix return type
...
llvm-svn: 19314
2005-01-07 05:41:39 +00:00
Jeff Cohen
9bf3df5cc6
Get the #ifdef right on LinkAllPasses.h.
...
llvm-svn: 19310
2005-01-06 07:01:08 +00:00
Jeff Cohen
c205cf1049
Fix minor mistakes
...
llvm-svn: 19309
2005-01-06 06:29:42 +00:00
Jeff Cohen
b5bd66d55c
Get rid of those pesky tabs...
...
llvm-svn: 19308
2005-01-06 06:06:35 +00:00
Jeff Cohen
dfe5e3b330
Add project opt to Visual Studio.
...
llvm-svn: 19307
2005-01-06 06:02:53 +00:00
Jeff Cohen
727aeaf966
Fix incorrect return type.
...
llvm-svn: 19304
2005-01-06 05:45:45 +00:00
Chris Lattner
d8856e4665
Add required #include
...
llvm-svn: 19302
2005-01-06 03:25:27 +00:00
Chris Lattner
b5473d7cf3
Add a useful method
...
llvm-svn: 19301
2005-01-06 03:23:59 +00:00
Chris Lattner
8263ec34fd
Add a list end sentinal
...
llvm-svn: 19299
2005-01-05 22:14:14 +00:00
Chris Lattner
1105e059bb
add an assertion
...
llvm-svn: 19290
2005-01-05 16:27:34 +00:00
Chris Lattner
61bed2fe76
Do not let 'ftostr' return a string that starts with spaces. This allows
...
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.
llvm-svn: 19279
2005-01-04 01:56:28 +00:00
Chris Lattner
a008165daa
Add some bits that can be set on instructions. Renumber existing bits so
...
they are dense. Add a virtual method that targets can choose to implement.
llvm-svn: 19242
2005-01-02 02:28:31 +00:00
Reid Spencer
37f31d4aa1
Make printing a warning message optional in CheckBytecodeOutputToConsole.
...
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer
2d73c4d556
Implement a function to print a warning if bytecode output is to be sent to
...
a terminal/console.
llvm-svn: 19237
2005-01-01 23:56:20 +00:00
Reid Spencer
ed2f874a8d
Add functions for determining if the stdin/out/err is connected to a
...
console or not.
llvm-svn: 19233
2005-01-01 22:29:26 +00:00
Jeff Cohen
8e751d4f87
Add llvm-as project to Visual Studio
...
llvm-svn: 19227
2005-01-01 20:51:41 +00:00
Jeff Cohen
1d174640fe
Fix bountiful sources of VC++ 'possible loss of data' warnings
...
llvm-svn: 19224
2005-01-01 18:58:23 +00:00
Reid Spencer
560327d430
Add HAVE_SBRK
...
llvm-svn: 19222
2005-01-01 18:16:16 +00:00
Chris Lattner
70d0a6155b
Add a useful accessor
...
llvm-svn: 19209
2005-01-01 15:58:55 +00:00
Chris Lattner
7f004e59d8
Add two helper functions.
...
llvm-svn: 19208
2005-01-01 15:58:41 +00:00
Reid Spencer
53cfb14270
* Fix a bug in an m4 macro that used an incorrect test operator
...
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
program or not.
* Correct a warning messages to be a little more specific on what it checks
llvm-svn: 19184
2004-12-29 07:07:57 +00:00
Reid Spencer
b454405d4a
For PR351:
...
* Move implementation of sys::PreventCoreFiles function to this file from
the now defunct SysConfig abstraction.
llvm-svn: 19159
2004-12-27 06:17:27 +00:00
Reid Spencer
7da5e588d4
For PR351:
...
SysConf abstraction was pointless because it had a single function in it that
pertained only to the current process. So merge it into the Process abstraction
and remove the files completely.
llvm-svn: 19149
2004-12-27 06:15:14 +00:00
Reid Spencer
38f6b8a1bd
For PR351:
...
* Add checks for sterror and strerror_r functions
* Add check to determine if /dev/zero is needed for allocating RWX memory.
llvm-svn: 19148
2004-12-27 06:15:02 +00:00
Reid Spencer
ff28563c07
For PR351:
...
* Make sure all headers used by lib/System have checks
* Use "standard" autoconf checks for certain problematic headers
For PR432:
* Resurrect --with-llvmgccdir so a specific llvm-gcc/llvm-g++ installation
can be specified.
llvm-svn: 19142
2004-12-25 07:31:29 +00:00
Reid Spencer
27dbe5c161
For PR351:
...
Create new variables LLVM_ON_UNIX and LLVM_ON_WIN32 so we can start getting
rid of reliance upon a symbolic link to switch implementations in lib/System
llvm-svn: 19131
2004-12-24 06:29:05 +00:00
Reid Spencer
9d949160f5
For PR351:
...
Move non-portable FDHandle class to its only user: lib/Debugger
llvm-svn: 19106
2004-12-22 10:24:43 +00:00
Jeff Cohen
147ad804fa
Fix VC++ compilation error
...
llvm-svn: 19082
2004-12-21 15:40:41 +00:00
Reid Spencer
56bec4165e
Remove this file as there are no LLVM users of it any more.
...
llvm-svn: 19066
2004-12-20 04:35:20 +00:00
Reid Spencer
6abec217dd
Remove this file as its not used by anything in LLVM any more. System
...
dependent behavior is now made through the lib/System interface.
llvm-svn: 19064
2004-12-20 04:25:53 +00:00
Reid Spencer
df938f3108
Remove these files as they are included by nothing in LLVM any more. The
...
system dependent functionality has been moved to lib/System.
llvm-svn: 19063
2004-12-20 04:24:32 +00:00
Reid Spencer
9bba44181d
Remove these headers. The files that used to #include them don't any more
...
as most system dependent behavior has been moved to lib/System.
llvm-svn: 19062
2004-12-20 04:20:37 +00:00
Reid Spencer
cdaadc1eb5
Add HAVE_SYSCONF
...
llvm-svn: 19060
2004-12-20 04:08:58 +00:00
Reid Spencer
d244303b05
For PR351:
...
* Add GetMallocUsage as a wrapper around mallinfo()
* Add GetTotalMemoryUsage to get approximate RSS size
* Add GetTimeUsage to get elapsed/system/user time
llvm-svn: 19051
2004-12-20 00:58:53 +00:00
Reid Spencer
8ef5b3a158
Wrap long lines
...
llvm-svn: 19050
2004-12-20 00:58:41 +00:00
Reid Spencer
38b0d98740
For PR351:
...
This file is no longer needed as system dependent functions have been
encapsulated into lib/System.
llvm-svn: 19049
2004-12-20 00:58:25 +00:00
Reid Spencer
944664fd34
For PR351:
...
Incorporate the abilities of RunPRogramWithTimeout into
sys::Program::ExecuteAndWait so that redirection and a timeout are optionally
supported.
llvm-svn: 19039
2004-12-19 17:59:57 +00:00
Reid Spencer
9bf67b0b3f
For PR351:
...
Turn path instance variables into sys::Path instead of std::string
llvm-svn: 19038
2004-12-19 17:59:45 +00:00
Reid Spencer
e3eb1bb93d
For PR351:
...
Replace RunProgramWithTimeout with an inline function that calls
sys::Program::ExecuteAndWait. This is now just a convenience function.
llvm-svn: 19037
2004-12-19 17:59:33 +00:00
Reid Spencer
97e79cf40a
Correct the name of the method. CopyFiles -> CopyFile.
...
llvm-svn: 19025
2004-12-18 00:14:24 +00:00
Chris Lattner
40cf227b6a
Make code fit in 80 cols
...
llvm-svn: 19016
2004-12-17 17:02:54 +00:00
Reid Spencer
df60327fbe
For PR351:
...
* Make the OutputC and OutputAsm functions work with sys::Path for the output
file name instead of using std::string.
* Get rid of extraneous "toString" calls.
* Change "removeFile" to sys::Path::destroyFile()
llvm-svn: 19000
2004-12-16 23:01:34 +00:00
Reid Spencer
391b891e42
For PR351:
...
* Remove the "removeFile" function, now implemented by the
sys::Path::destroyFile method.
* Make the FileRemove work with a sys::Path instead of a std::string
llvm-svn: 18999
2004-12-16 23:00:05 +00:00
Reid Spencer
22b625f52c
Get rid of inclusion of config.h because this file is autoconf'd.
...
llvm-svn: 18992
2004-12-16 18:47:17 +00:00
Reid Spencer
652f1f43fd
Adjust documentation of GetBytecodeLibraryPaths after removing LLVMGCCDIR
...
support from it.
llvm-svn: 18972
2004-12-15 22:49:18 +00:00
Reid Spencer
bb0cee77f8
Remove LLVMGCCDIR.
...
llvm-svn: 18971
2004-12-15 22:28:35 +00:00
Reid Spencer
9d3a8ad836
Fix a file overwrite bug in llvm-ar introduced by changes to
...
createTemporaryFile semantics where it doesn't create a fully unique name
if the basename doesn't exist. This functionality is now optionally
provided by the boolean reuse_current parameter to createTemporaryFile and
makeUnique. The default values differ because of the way these functions
are used in LLVM.
llvm-svn: 18961
2004-12-15 08:32:45 +00:00
Chris Lattner
78b1a2c137
Make the AliasAnalysis interface more precise for common cases.
...
llvm-svn: 18956
2004-12-15 07:21:39 +00:00
Reid Spencer
8fe73b4d39
For PR351:
...
* Fix implementation and documentation about LLVMGCCDIR/bytecode-libs
* Add the makeUnique method, replacement for getUniqueFilename in Support.
* Add the sys::CopyFile function, replacement for CopyFile in Support.
* Move GetLLVMConfigDir() into generic code area since its generic.
llvm-svn: 18947
2004-12-15 01:50:13 +00:00
Reid Spencer
c13933032d
For PR351:
...
Remove getUniqueFilename and CopyFile. These are now implemented by
sys::Path::makeUnique and sys::CopyFile, respectively.
llvm-svn: 18946
2004-12-15 01:46:54 +00:00
Reid Spencer
8461ddd8c9
Add some system specific functions we use
...
llvm-svn: 18945
2004-12-15 01:41:56 +00:00
Jeff Cohen
cc0adb0271
Implement Win32 Path::getStatusInfo(), TimeValue::toString()
...
llvm-svn: 18930
2004-12-14 05:26:43 +00:00
Reid Spencer
165388298b
For PR351:
...
* Fix commentary, wrap lines, etc.
* Add an environment pointer to the ExecuteAndWait function.
llvm-svn: 18926
2004-12-14 04:17:12 +00:00
Reid Spencer
a0f6155809
For PR351:
...
* isExecutable -> sys::Path::executable()
* Adjust interface of FindExecutable to return a sys::Path
llvm-svn: 18917
2004-12-13 23:40:08 +00:00
Reid Spencer
3b88b3427b
For PR351:
...
Remove AllocateRWXMemory as it is not used any more in LLVM. The function
has been replaced with sys::Memory::AllocateRWX several months ago.
llvm-svn: 18912
2004-12-13 20:14:30 +00:00
Reid Spencer
df7f779d7d
For PR351:
...
Remove the MakeFileReadable and MakeFileExecutable functions which are no
longer present in LLVM. They have been replaced with the sys::Path methods
makeReadable and makeExecutable, respectively.
llvm-svn: 18910
2004-12-13 20:08:14 +00:00
Reid Spencer
5a18b63eb5
For PR351:
...
Implement three new functions to allow setting access/permission bits on
the file referenced by a path. The makeReadable and makeExecutable methods
replace the FileUtilities MakeFileReadable and MakeFileExecutable
functions. The makeWritable function is new and provided for consistency
since Path has a writable() method.
llvm-svn: 18907
2004-12-13 19:59:50 +00:00
Chris Lattner
79c3a57af7
Change this method to return ulong, not uint, for 64-bit targets.
...
llvm-svn: 18906
2004-12-13 19:48:51 +00:00
Reid Spencer
7dfa723d34
For PR351:
...
The ReadFileIntoAddressSpace and UnmapFileFromAddressSpace functions are no
longer used by LLVM. Remove them. Replacement functionality for both
functions is now encapsulated in the sys::MappedFile class.
llvm-svn: 18903
2004-12-13 18:28:59 +00:00
Reid Spencer
dd50ab43d0
For PR351: \
...
The getFileTimestamp and getFileSize functions have been removed from \
FileUtilities.{h,cpp}. They are replaced by Path::getTimestamp and \
Path::getSize,respectively.
llvm-svn: 18892
2004-12-13 17:01:53 +00:00
Reid Spencer
fe4882b78e
Added a size_type typedef to LLVM containers to make Visual Studio shut up
...
(and possibly to make LLVM more x86 64bit friendly).
llvm-svn: 18891
2004-12-13 16:28:53 +00:00
Reid Spencer
f7cd830e8d
Add a convenience function for clearing the two global areas.
...
Patch contributed by Morten Ofsted.
llvm-svn: 18890
2004-12-13 16:22:32 +00:00
Reid Spencer
24cf14cef6
* Add a std::ostream inserter for sys::Path
...
* Correct the std::string constructor to take a const reference.
llvm-svn: 18877
2004-12-13 06:57:15 +00:00
Reid Spencer
6d4e664b79
Remove commented out functions that have been replaced with lib/System
...
functionality.
llvm-svn: 18868
2004-12-13 03:15:47 +00:00
Reid Spencer
1e51643433
Make the size() method const
...
llvm-svn: 18852
2004-12-13 02:58:51 +00:00
Reid Spencer
285b0e4cda
For PR351:\
...
* Modify file reading to use sys::MappedFile \
* Use sys::Path instead of std::string
llvm-svn: 18851
2004-12-13 02:58:40 +00:00
Reid Spencer
bb21c8cf16
Add LLVMGCCDIR for path lookup
...
llvm-svn: 18850
2004-12-13 02:58:28 +00:00
Reid Spencer
cc8a470ea6
Make the OpenAndLoad functions have an ErrorMessage argument.
...
llvm-svn: 18849
2004-12-13 02:58:16 +00:00
Reid Spencer
5be572d3b4
Completely rewrite the interface to be class based
...
llvm-svn: 18848
2004-12-13 02:58:05 +00:00
Reid Spencer
b4cb7f30c3
For PR351:\
...
* Consolidate path retrieval into just two methods. \
* Add FindLibrary as a convenience function. \
* Add isDynamicLibrary for testing for dynamic libs. \
* Make toString constant and reference clean.
llvm-svn: 18847
2004-12-13 02:57:53 +00:00
Reid Spencer
71746efbf5
For PR351:Remove the file type checking methods (now in sys::Path)
...
llvm-svn: 18846
2004-12-13 02:57:41 +00:00
Reid Spencer
e2af9dc813
Path::get -> Path::toString
...
llvm-svn: 18785
2004-12-11 00:14:15 +00:00
Chris Lattner
d104c10aa5
Add missing accessor.
...
llvm-svn: 18775
2004-12-10 20:35:47 +00:00
Chris Lattner
a856de4013
New prototype
...
llvm-svn: 18751
2004-12-10 07:55:01 +00:00
Jeff Cohen
2d53514c83
Fix residual Visual Studio build problems
...
llvm-svn: 18688
2004-12-09 05:51:11 +00:00
Chris Lattner
8cb5c70203
Move method out of line
...
llvm-svn: 18666
2004-12-08 21:04:10 +00:00
Chris Lattner
5cc8fcda9e
Define the pointer hash struct before the string one, to improve compatibility
...
with ICC. Patch contributed by Bjørn Wennberg.
llvm-svn: 18663
2004-12-08 20:59:18 +00:00
Alkis Evlogimenos
f57d029464
Use getOperand() and remove getElementAt() function.
...
llvm-svn: 18612
2004-12-08 03:45:20 +00:00
Reid Spencer
8db74faeb6
For PR387:\
...
Add runPass methods to remove -Woverloaded-virtual warnings are not \
present and circumvent possible inheritance bugs.
llvm-svn: 18600
2004-12-07 08:11:11 +00:00
Reid Spencer
d50c86f078
For PR387:\
...
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual
llvm-svn: 18589
2004-12-07 04:03:45 +00:00
Alkis Evlogimenos
806fb993fe
Add accessors for Constants in a ConstantStruct.
...
llvm-svn: 18550
2004-12-05 20:09:18 +00:00
Reid Spencer
6b2113de16
Fix PR139: \
...
Add support for ordered linking with the LinkItems function
llvm-svn: 18546
2004-12-05 19:14:43 +00:00
Chris Lattner
cdcd7126f1
Add a new method
...
llvm-svn: 18531
2004-12-05 06:43:27 +00:00
Chris Lattner
f9f7c0c5d8
Fix typeo
...
llvm-svn: 18530
2004-12-05 06:33:15 +00:00
Reid Spencer
fc2bf75791
Make a const method const
...
llvm-svn: 18524
2004-12-05 05:17:34 +00:00
Chris Lattner
e2b8d886c9
Move the strip pass from Scalar to IPO lib
...
llvm-svn: 18438
2004-12-02 21:24:19 +00:00
Chris Lattner
6adc42af75
Remove dead field
...
llvm-svn: 18412
2004-12-02 02:35:38 +00:00
Chris Lattner
e561ef0261
Add method
...
llvm-svn: 18368
2004-11-30 02:51:53 +00:00
Reid Spencer
fea77c07f6
Add in some methods for use by the JIT. LoadLibraryPermanently brings the
...
library into the address space permanently. SearchForAddressOfSymbol looks
in all previously permanently loaded libraries and any currently open
libraries for a symbol, instead of just one library like GetAddressOfSymbol
llvm-svn: 18354
2004-11-29 13:27:56 +00:00
Reid Spencer
71ebca79cb
Changes resulting from AC_LIB_LTDL usage.
...
llvm-svn: 18350
2004-11-29 12:36:16 +00:00
Reid Spencer
dba402cd23
Don't include ltdl.h any more. Its nested in lib/System now.
...
llvm-svn: 18347
2004-11-29 12:12:11 +00:00
Reid Spencer
19f0bd4d59
Make the default constructor cause the program's symbols to be loaded as
...
if it was a dynamic library.
llvm-svn: 18340
2004-11-29 10:38:54 +00:00
Chris Lattner
c57746a1e0
Change interface to this method a bit
...
llvm-svn: 18274
2004-11-27 18:37:04 +00:00
Chris Lattner
ab36efe42b
Add a new interface
...
llvm-svn: 18266
2004-11-26 21:36:25 +00:00
Reid Spencer
6bfb910955
Remove HAVE_BZLIB and HAVE_BZIP2. We always have bzip2 now.
...
llvm-svn: 18254
2004-11-25 20:21:53 +00:00
Reid Spencer
0fd67aa7c9
Restrict the interface to not allow algorithm selection
...
llvm-svn: 18248
2004-11-25 19:37:42 +00:00
Chris Lattner
70c19defde
Fix the FIXME, nuke the JIT specific forceCompilationOf method.
...
llvm-svn: 18131
2004-11-22 21:54:35 +00:00
Chris Lattner
39b616869e
These methods are now obsolete
...
llvm-svn: 18128
2004-11-22 21:48:01 +00:00
Chris Lattner
f14eff8940
Add a new debug intrinsic parent class. Patch contributed by Michael
...
McCracken, thanks!
llvm-svn: 18107
2004-11-22 17:18:05 +00:00
Chris Lattner
2dbdf38808
This is the proper code for this method, thanks to Reid for getting CVS working
...
again.
llvm-svn: 18103
2004-11-22 16:54:54 +00:00
John Criswell
fbf58400ce
Moved into the poolalloc tree.
...
llvm-svn: 18102
2004-11-22 16:32:35 +00:00
Reid Spencer
7aa1c0b8fb
Implement a missing function called by JIT/Emitter.cpp but never defined.
...
NOTE: Its not clear that this implementation is correct.
CHRIS: Please review this!
llvm-svn: 18101
2004-11-22 12:38:36 +00:00
Chris Lattner
ed19f4fe7d
Fix a warning
...
llvm-svn: 18083
2004-11-21 04:42:32 +00:00
Chris Lattner
3765dc4ebd
Add another bit, to make the JIT a bit more efficient.
...
llvm-svn: 18077
2004-11-21 03:27:13 +00:00
Chris Lattner
6d1fb33657
ignore generated files
...
llvm-svn: 18073
2004-11-21 00:01:54 +00:00
Chris Lattner
32fb560b34
Ignore generated files
...
llvm-svn: 18071
2004-11-21 00:00:04 +00:00
Chris Lattner
34db55fe83
Ignore files
...
llvm-svn: 18070
2004-11-20 23:58:43 +00:00
Chris Lattner
53ea58d4c1
Change this interface a bit
...
llvm-svn: 18063
2004-11-20 23:52:43 +00:00
Chris Lattner
ebb79ba538
Add new methods that a target should implement
...
llvm-svn: 18060
2004-11-20 23:50:02 +00:00
Chris Lattner
62d04b04f0
Add missing #include
...
llvm-svn: 18058
2004-11-20 23:40:54 +00:00
Reid Spencer
f381e95cc6
Distinguish between BSD4.4 and SVR4 symbol tables
...
llvm-svn: 18044
2004-11-20 07:29:40 +00:00
Chris Lattner
c0599d0f14
Add getCurrentPCOffset() and addRelocation() methods.
...
llvm-svn: 18034
2004-11-20 03:44:39 +00:00
Chris Lattner
20654daf37
Add the getRelocationType method that I forgot
...
llvm-svn: 18033
2004-11-20 03:43:50 +00:00
Chris Lattner
bae6c00a15
Allow targets to implement relocation support.
...
llvm-svn: 18032
2004-11-20 03:43:27 +00:00
Chris Lattner
674e29ccde
New file
...
llvm-svn: 18029
2004-11-20 03:05:50 +00:00
Chris Lattner
6e17c0f19e
Remove dead #include
...
llvm-svn: 18027
2004-11-20 02:17:03 +00:00
Chris Lattner
f9b6c00d88
External symbols are const char*'s now, change this to match.
...
llvm-svn: 18008
2004-11-19 20:56:22 +00:00
Chris Lattner
2a37cb2ef9
Instead of storing std::string's for ExternalSymbol references, rely on the
...
fact that all ExternalSymbols are actually string literals with static storage.
Thus we don't have to do anything special to hold them and we certainly don't
have to copy string data around.
llvm-svn: 18007
2004-11-19 20:46:15 +00:00
Chris Lattner
783a12cad5
Add static functions to clear singleton maps. Patch contributed by
...
Morten Ofstad!
llvm-svn: 17994
2004-11-19 16:39:04 +00:00
Chris Lattner
da8484d5d3
These methods are long gone, ConstantPointerRef is dead.
...
llvm-svn: 17993
2004-11-19 16:25:42 +00:00
Reid Spencer
a181a37bb4
Make findModulesDefiningSymbols modify its symbols argument so we can \
...
eliminate symbols defined by the archive efficiently
llvm-svn: 17976
2004-11-19 03:18:22 +00:00
Chris Lattner
1239b47b6e
Add support for llvm.dbg.stoppoint
...
llvm-svn: 17969
2004-11-18 21:41:16 +00:00
Chris Lattner
37651b157b
Update comments, now that CPR's are gone, inline the methods
...
llvm-svn: 17957
2004-11-18 17:46:57 +00:00
Reid Spencer
ef9391e69b
Include ltdl.h if we have it.
...
llvm-svn: 17952
2004-11-18 09:50:00 +00:00
Reid Spencer
058e3d2b5e
Add checks for HAVE_LTDL_H and HAVE_LT_DLOPEN
...
llvm-svn: 17951
2004-11-18 09:49:13 +00:00
Reid Spencer
c1871a4eaa
Dynamic Library abstraction. This makes the abstraction of a single dynamic
...
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.
llvm-svn: 17940
2004-11-18 04:33:39 +00:00
Alkis Evlogimenos
b9e38d3cc5
Make ReturnInst accept a value of type void as the return value. The
...
ReturnInst constructed is the same as if NULL was passed instead of
the void value.
llvm-svn: 17923
2004-11-17 21:02:25 +00:00
Chris Lattner
fd98a3195a
New prototype for lowerpacked pass.
...
llvm-svn: 17915
2004-11-17 18:01:49 +00:00
Reid Spencer
ee379f96f0
Make the comment for LinkFiles a bit more precise and easily understood.
...
llvm-svn: 17899
2004-11-16 16:46:22 +00:00
Reid Spencer
cdc0b6d962
Standardize on 'class' instead of 'struct'. Gets rid of warnings in VC++
...
Patch contributed by Jeff Cohen.
llvm-svn: 17889
2004-11-16 06:58:55 +00:00
Reid Spencer
032a3cc7de
Per code review:\
...
* Use STL names for STL operations \
* Do not have Archive doing symbol table printing \
* Avoid compiler warnings about only having private constructors.
llvm-svn: 17881
2004-11-16 06:46:55 +00:00
Chris Lattner
7a2de9f653
Document this as clobbering the second arg, make the second arg be non-const
...
llvm-svn: 17879
2004-11-16 06:41:21 +00:00
Reid Spencer
bcef3fef1d
Per code review:
...
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32
llvm-svn: 17873
2004-11-16 06:22:17 +00:00
Reid Spencer
4031ff44bb
Per code review:
...
* Clean up the StatusInfo constructor to construct all members and give
them reasonable values.
* Get rid of the Vector typedef and make the interface to
getDirectoryContent use a std::set instead of a std::vector so the dir
content is sorted.
* Make the getStatusInfo method const and not return a useless boolean.
llvm-svn: 17872
2004-11-16 06:15:19 +00:00
Reid Spencer
fdf8ac8d29
Per code review:
...
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.
llvm-svn: 17871
2004-11-16 06:11:52 +00:00
Chris Lattner
40539fe637
Add an accessor
...
llvm-svn: 17865
2004-11-15 23:20:19 +00:00
Reid Spencer
625a480806
Remove useless/confusing namespace qualifier.
...
llvm-svn: 17852
2004-11-15 21:27:05 +00:00
Chris Lattner
60e159a806
Warning fixes for VC++, contributed by Morten Ofstad!
...
llvm-svn: 17831
2004-11-15 19:02:35 +00:00
Reid Spencer
bfc924424d
Changes necessary to enable linking of archives without LLVM symbol tables.
...
llvm-svn: 17811
2004-11-15 01:20:11 +00:00
Reid Spencer
32924c8d62
Changes per code review:
...
* Document StatusInfo fields better
* No lines > 80 cols
* Have getStatusInfo return bool if file doesn't exist
* Don't document in detail how temporary file name should be created.
llvm-svn: 17808
2004-11-14 23:29:00 +00:00
Reid Spencer
e902694309
*Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add ability to convert to readable string.
...
llvm-svn: 17762
2004-11-14 21:53:55 +00:00
Reid Spencer
73e4677779
Make the remove*OnSignal functions deal with Paths not strings
...
llvm-svn: 17761
2004-11-14 21:53:09 +00:00
Reid Spencer
63a08a4cef
*Put the StatusInfo type in the right section. *Provide the ability to rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types.
...
llvm-svn: 17760
2004-11-14 21:52:22 +00:00
Reid Spencer
858bc78223
Allow explicit closing of the MappedFile, before destruction
...
llvm-svn: 17759
2004-11-14 21:51:36 +00:00
Reid Spencer
df6952563a
Linker is its own module now. Moved to include/llvm/Linker.h
...
llvm-svn: 17758
2004-11-14 21:50:50 +00:00
Reid Spencer
7622437947
Add higher level interface to simplify use of Compressor
...
llvm-svn: 17757
2004-11-14 21:50:00 +00:00
Reid Spencer
2505c4beff
Add the MoreHelp function pointer. If non-null, this specifies a function to be called to print out additional help information
...
llvm-svn: 17756
2004-11-14 21:49:13 +00:00
Reid Spencer
0635c876ce
Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form for GetBytecodeSymbols.
...
llvm-svn: 17755
2004-11-14 21:48:27 +00:00
Reid Spencer
760e7993c4
Complete rewrite to get first working version.
...
llvm-svn: 17754
2004-11-14 21:47:41 +00:00
Reid Spencer
9008154865
Interface to Linker (revised/expanded from Support/Linker.h)
...
llvm-svn: 17752
2004-11-14 21:46:08 +00:00
Misha Brukman
c7cdc44158
Add GhostLinkage for marking functions before they're fully materialized
...
llvm-svn: 17747
2004-11-14 21:02:28 +00:00
Reid Spencer
2f680d5cfd
Moved from include/llvm/Support/Linker.h
...
llvm-svn: 17743
2004-11-14 20:21:58 +00:00
Chris Lattner
bbd13a8e4e
Add useful method, minor cleanups
...
llvm-svn: 17715
2004-11-13 23:28:10 +00:00
Chris Lattner
1d52a24587
Add support for shifts
...
llvm-svn: 17702
2004-11-13 19:32:45 +00:00
Reid Spencer
97f373cf98
Provide conversion from posix time.
...
llvm-svn: 17656
2004-11-09 20:29:10 +00:00
Reid Spencer
28ceb24005
* Implement getStatusInfo for getting stat(2) like information
...
* Implement createTemporaryFile for mkstemp(3) functionality
* Fix isBytecodeFile to accept llvc magic # (compressed) as bytecode.
llvm-svn: 17654
2004-11-09 20:26:31 +00:00
Misha Brukman
eb1d9f84eb
Remove extra spaces
...
llvm-svn: 17629
2004-11-08 19:01:03 +00:00
Reid Spencer
941a856338
Make writing compressed bytecode the default.
...
llvm-svn: 17625
2004-11-08 17:35:34 +00:00
Misha Brukman
14f6ade91b
Add method to delete machine code generated for a Function
...
llvm-svn: 17600
2004-11-07 23:58:02 +00:00
Reid Spencer
0c3d88e887
Make compression the default on writing.
...
llvm-svn: 17577
2004-11-07 18:18:11 +00:00
Reid Spencer
a68b503c6e
* Provide option for specifying bytecode compression
...
* Enabled bytecode compression by default.
llvm-svn: 17563
2004-11-07 05:30:43 +00:00
Chris Lattner
6807c1681b
This is V9 specific stuff
...
llvm-svn: 17546
2004-11-07 00:42:29 +00:00
Reid Spencer
a81994464f
Add support for compressed bytecode
...
llvm-svn: 17535
2004-11-06 23:17:23 +00:00
Reid Spencer
cb8f378199
Provide an interface for getting just the external symbols from a
...
Bytecode file.
llvm-svn: 17502
2004-11-06 08:54:47 +00:00
Reid Spencer
91df2e92d3
Deprecate constructors we don't want users to use.
...
Temporarily comment out two interface methods we might not implement.
llvm-svn: 17501
2004-11-06 08:53:59 +00:00
Reid Spencer
7090e6a875
Stop propagating method names that violate the coding standard
...
llvm-svn: 17498
2004-11-05 22:15:36 +00:00
Reid Spencer
a23368c9ec
Go ahead and trust the client not to mess with the ModuleProvider* returned
...
by the findModuleContainingSymbol method.
llvm-svn: 17491
2004-11-05 18:48:02 +00:00
Reid Spencer
a6e5980b7a
* Documentation corrections (thanks to Chris for nit-picking)
...
* Remove dead typedefs.
* Redefine how getAllPaths treats its argument.
llvm-svn: 17489
2004-11-05 17:44:26 +00:00
Reid Spencer
91df40213f
First version of the interface to Archive files. This introduces the
...
llvm::Archive class to provide for reading, writing, indexing and search
functions on standard ar(1) format files that contain bytecode modules.
Implementation to follow.
llvm-svn: 17487
2004-11-05 09:19:17 +00:00
Chris Lattner
39cfd1e916
defining __STDC_LIMIT_MACROS on the command line is not really necessary
...
for Visual Studio, and is a bit of a pain when you want to include the
LLVM headers from your own project, so I moved the check a bit down into
the Unix case to avoid the hassle... Here is a patch
Patch by Morten Ofstad!
llvm-svn: 17450
2004-11-03 17:15:45 +00:00
Chris Lattner
53a16841da
Fix typo, contributed by Henrik Bach!
...
llvm-svn: 17434
2004-11-02 17:31:02 +00:00
Chris Lattner
5242fcc785
Add an assertion and a method
...
llvm-svn: 17353
2004-10-30 04:03:47 +00:00
Misha Brukman
c6897a03b6
Fix grammar (i.e.)
...
llvm-svn: 17343
2004-10-29 19:20:42 +00:00
Misha Brukman
45881be596
The Alpha (tm) intrinsics aren't even being used
...
llvm-svn: 17341
2004-10-29 18:43:43 +00:00
John Criswell
52e32cacff
Commented out the _Alloc_traits specialization entirely, as it is only
...
supported by specific versions of GCC.
It is left in place in case anyone wants to updated it for GCC 3.4 or
re-use it for earlier versions of GCC where it works.
llvm-svn: 17324
2004-10-28 18:21:41 +00:00
John Criswell
5d67a2e428
Only add the _Alloc_traits specialization in if we're compiling for
...
Linux and not compiling for Sparc.
This is still probably not correct, or portable, but it'll do for now.
llvm-svn: 17321
2004-10-28 17:31:46 +00:00
Brian Gaeke
e2b2076b46
Regenerated after fixing typo.
...
llvm-svn: 17303
2004-10-28 05:06:45 +00:00
Reid Spencer
6fb57becbd
Add the HAVE_RAND48 define.
...
llvm-svn: 17285
2004-10-27 23:09:31 +00:00
Chris Lattner
dd0094e4ed
Convert 'struct' to 'class' in various places to adhere to the coding standards
...
and work better with VC++. Patch contributed by Morten Ofstad!
llvm-svn: 17281
2004-10-27 16:14:51 +00:00
Nate Begeman
2a64d462d9
Move destructor out of line to avoid vtable emission in every file that includes the header. Thanks to sabre.
...
llvm-svn: 17278
2004-10-27 06:00:53 +00:00
Nate Begeman
a6fafb1f64
Fix the build by eliminating some more dead code. That'll learn me not to listen to Reid
...
llvm-svn: 17275
2004-10-27 05:44:23 +00:00
Nate Begeman
3a55e171f1
Remove dead data member in MRegisterInfo class. Thanks sabre!
...
llvm-svn: 17274
2004-10-27 04:51:58 +00:00
Misha Brukman
6d5e98bb06
Wrap comments at 80 cols
...
llvm-svn: 17261
2004-10-26 18:00:03 +00:00
Chris Lattner
85c502ec31
Fix header
...
llvm-svn: 17259
2004-10-26 16:19:57 +00:00
Misha Brukman
4c1e87f2d9
* DataTypesFix.h moved to AIXDataTypesFix.h
...
* Condition #inclusion of AIXDataTypes.h on the _AIX preprocessor symbol to
prevent extra I/O on non-AIX systems. Thus, no #ifdef in AIXDataTypes.h
llvm-svn: 17257
2004-10-26 16:15:18 +00:00
Chris Lattner
fabd2aa5b5
Remove the unused MachineBasicBlock2IndexFunctor class.
...
Move method bodies that depend on <algorithm> out of line to
MachineBasicBlock.cpp. Patch contributed by Morten Ofstad!
llvm-svn: 17252
2004-10-26 15:41:13 +00:00
Nate Begeman
4363d6203f
Remove method getRegClass from MRegisterInfo, as it is no longer used.
...
llvm-svn: 17243
2004-10-26 06:00:31 +00:00
Chris Lattner
94f00d243c
Remove a dead class. Thanks to Morten Ofstad for pointing this out.
...
llvm-svn: 17222
2004-10-25 19:07:43 +00:00
Chris Lattner
ec942219ad
Patch to support MSVC better, contributed by Morten Ofstad
...
llvm-svn: 17215
2004-10-25 18:40:47 +00:00
Chris Lattner
3286872a18
Patch to support MSVC correctly, contributed by Morten Ofstad!
...
llvm-svn: 17213
2004-10-25 18:38:05 +00:00
Misha Brukman
dd92de83ca
Fix grammar in comments to getSizeOf()
...
llvm-svn: 17200
2004-10-24 03:18:30 +00:00
Alkis Evlogimenos
75aa7bdf21
Improve comments and wrap to 80 columns.
...
llvm-svn: 17198
2004-10-24 03:01:32 +00:00
Alkis Evlogimenos
a893aad8fb
Add ConstantExpr::getSizeOf(Type*).
...
llvm-svn: 17196
2004-10-24 01:41:10 +00:00
Misha Brukman
c0ac8cae1c
If we're going to make the braces of functions line up for ease of readability
...
and aesthetic reasons, might as well finish the job
llvm-svn: 17140
2004-10-19 05:50:34 +00:00
Misha Brukman
be39800a89
Remove unnecessary spaces in function signature
...
llvm-svn: 17139
2004-10-19 05:49:46 +00:00
Misha Brukman
fd9bef227a
* Fit constructor initializer on a single line
...
* Delete blank chars at end of line to fit into 80 cols
llvm-svn: 17137
2004-10-19 00:29:16 +00:00
Misha Brukman
56f2d0e5fe
Move code to redefine INT64_{MIN,MAX} on AIX/PowerPC to a separate header,
...
because #undef becomes commented out in DataTypes.h.in due to autoheader
llvm-svn: 17135
2004-10-18 22:14:48 +00:00
Nate Begeman
49e38c2185
Initial implementation of the strength reduction for GEP instructions in
...
loops. This optimization is not turned on by default yet, but may be run
with the opt tool's -loop-reduce flag. There are many FIXMEs listed in the
code that will make it far more applicable to a wide range of code, but you
have to start somewhere :)
This limited version currently triggers on the following tests in the
MultiSource directory:
pcompress2: 7 times
cfrac: 5 times
anagram: 2 times
ks: 6 times
yacr2: 2 times
llvm-svn: 17134
2004-10-18 21:08:22 +00:00
Misha Brukman
07479efa84
* AIX on Power defines INT64_MIN and INT64_MAX in ways that annoy GCC, so
...
special-case those definitions
* Add comments in #ifdef/#else/#endif clauses for ease of reading
llvm-svn: 17132
2004-10-18 18:35:21 +00:00
Chris Lattner
9f1c4d5b67
Fix miscompilations in the SparcV9 backend that were induced by this patch:
...
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html
llvm-svn: 17130
2004-10-18 17:19:20 +00:00
Reid Spencer
a5b7b341a4
Declare a function in the correct namespace.
...
Patch contributed by Morten Ofstad. Thanks Morten!
llvm-svn: 17124
2004-10-18 14:43:45 +00:00
Reid Spencer
eb6a51b3f0
Add HAVE_BZLIB_H and HAVE_ZLIB_H tests.
...
llvm-svn: 17092
2004-10-17 17:07:29 +00:00
Chris Lattner
cd83905b39
Add support for the unreachable instruction
...
llvm-svn: 17039
2004-10-16 18:06:43 +00:00
Chris Lattner
6dd0bb3d27
Add new UndefValueVal type
...
llvm-svn: 17038
2004-10-16 18:06:07 +00:00
Chris Lattner
423a692a5b
Add new UnreachableInst class
...
llvm-svn: 17037
2004-10-16 18:05:54 +00:00
Chris Lattner
88ba528955
Add new unreachable instruction
...
llvm-svn: 17036
2004-10-16 18:05:37 +00:00
Chris Lattner
1217610926
Add new UndefValue class
...
llvm-svn: 17035
2004-10-16 18:05:25 +00:00
Chris Lattner
56508557cf
UndefValue's are constants
...
llvm-svn: 17034
2004-10-16 18:05:10 +00:00
Chris Lattner
b222ad66ef
Move the implementation of the clone method for these classes to
...
Instructions.cpp, so that a vtable is not emitted into every translation unit
that uses the classes.
llvm-svn: 17025
2004-10-15 23:52:05 +00:00
Chris Lattner
65976f4178
Allow machine operands to represent global variables with offsets. This is
...
useful when you have a reference like:
int A[100];
void foo() { A[10] = 1; }
In this case, &A[10] is a single constant and should be treated as such.
Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no
other operand type is.
This is another fine patch contributed by Jeff Cohen!!
llvm-svn: 17007
2004-10-15 04:38:41 +00:00
Misha Brukman
e20eb48c53
Convert tabs to spaces
...
llvm-svn: 16988
2004-10-14 18:47:56 +00:00
Chris Lattner
df0849be71
Make sure any client of Dominators.h links in Dominators.cpp
...
llvm-svn: 16986
2004-10-14 15:46:59 +00:00
Chris Lattner
1bd3fdd438
Remove unneeded typedef, patch by Morten Ofstad
...
llvm-svn: 16984
2004-10-14 14:51:09 +00:00
Chris Lattner
ae45589b0f
Use explicit std:: qualification to avoid relying on Koenig lookup, which
...
VC++ does not do properly. Thanks to Morten Ofstad for the patch!
llvm-svn: 16955
2004-10-13 15:11:23 +00:00
Chris Lattner
a4756fd6be
Get rid of template templates that were preventing VC from compiling the
...
set_intersect template. Thanks to Morten Ofstad and Jeff Cohen for the
patch!
llvm-svn: 16954
2004-10-13 15:09:21 +00:00
Chris Lattner
aa3facb3fe
Update doco, make doxygen more, use standard dividers.
...
llvm-svn: 16948
2004-10-13 04:44:53 +00:00
Misha Brukman
4a81cf32a5
Fix file comment header
...
llvm-svn: 16942
2004-10-12 21:48:02 +00:00
Misha Brukman
35c31cb4a2
On second thought, OpaqueType is not really a good first-class type.
...
llvm-svn: 16941
2004-10-12 20:35:04 +00:00
Chris Lattner
b00e680146
Add comment
...
llvm-svn: 16937
2004-10-12 17:08:44 +00:00
Misha Brukman
08a8f7261e
Opaque types are considered to be first-class.
...
llvm-svn: 16936
2004-10-12 17:06:17 +00:00
Chris Lattner
4436e1c174
Add std:: prefix for compilers without correct koenig lookup implemented.
...
Patch contributed by Paolo Invernizzi
llvm-svn: 16933
2004-10-12 16:10:39 +00:00
Chris Lattner
18dea852e9
Right, calls have Operand#0 == the called function, don't forget this.
...
llvm-svn: 16930
2004-10-12 04:45:20 +00:00
Chris Lattner
0a12c99e3a
New header. Classes can be added as needed.
...
llvm-svn: 16928
2004-10-12 04:20:46 +00:00
Chris Lattner
63ba63bb56
Allow creation of GEP constantexprs with a vector of value* operands as
...
well as a vector of constant*'s. It turns out that this is more efficient
and all of the clients want to do that, so we should cater to them.
llvm-svn: 16923
2004-10-11 22:52:25 +00:00
Chris Lattner
70197d8f29
Add long overdue methods
...
llvm-svn: 16921
2004-10-11 22:21:13 +00:00
Chris Lattner
36e1648743
Get friendly with Type
...
llvm-svn: 16812
2004-10-07 19:21:43 +00:00
Chris Lattner
4b6b21a216
Change signature of this method again
...
llvm-svn: 16810
2004-10-07 19:19:12 +00:00
Chris Lattner
8ddca97a5a
Rename pass
...
llvm-svn: 16801
2004-10-07 04:12:02 +00:00
Misha Brukman
9ed0f36e93
Undoxyfy internal method.
...
llvm-svn: 16774
2004-10-06 17:19:58 +00:00
Misha Brukman
80dedeb9fd
Doxygen-ify comments
...
llvm-svn: 16773
2004-10-06 16:56:16 +00:00
Chris Lattner
3f0662954e
Rename method, change comment, add argument
...
llvm-svn: 16771
2004-10-06 16:34:23 +00:00
Chris Lattner
4463fcc2f8
Fix #include flavor
...
llvm-svn: 16658
2004-10-04 18:10:18 +00:00
Reid Spencer
fdf5f0f13a
Add HAVE_BZIP2 and HAVE_ZLIB
...
llvm-svn: 16655
2004-10-04 17:48:37 +00:00
Reid Spencer
49089d64c2
Add a context for the callback so different compression scenarios can be
...
distinguished. Tidy up documentation. Thanks, Chris.
llvm-svn: 16652
2004-10-04 17:29:25 +00:00
Reid Spencer
024857a516
Minor corrections suggested by Chris' ever-watchful eye.
...
llvm-svn: 16651
2004-10-04 17:26:26 +00:00
Reid Spencer
da2e8b9943
First version of the MappedFile abstraction for operating system idependent
...
mapping of files. This first version uses mmap where its available. The
class needs to implement an alternate mechanism based on malloc'd memory
and file reading/writing for platforms without virtual memory.
llvm-svn: 16649
2004-10-04 11:08:32 +00:00
Reid Spencer
d2bedc512d
First version of a support utility to provide generalized compression in
...
LLVM that handles availability and unavailability of bzip2 and zlib.
llvm-svn: 16648
2004-10-04 10:49:41 +00:00
Alkis Evlogimenos
bbc01f13fc
Add const version of getLastBlock() member function.
...
llvm-svn: 16625
2004-09-30 21:42:02 +00:00
Alkis Evlogimenos
dbf62db0d0
Remove whitespace from the end of the line.
...
llvm-svn: 16624
2004-09-30 21:39:47 +00:00
Brian Gaeke
63338063d0
Add accessor function prototypes for reoptimizer support passes.
...
Make accessors return FunctionPass* as appropriate.
llvm-svn: 16619
2004-09-30 20:13:55 +00:00
Chris Lattner
89a80a46f1
Be consistent with our naming
...
llvm-svn: 16552
2004-09-28 18:37:00 +00:00
Chris Lattner
c92b280e0d
Capture information about whether the target instructions have delay slots
...
llvm-svn: 16550
2004-09-28 18:33:50 +00:00
Alkis Evlogimenos
4f5920aaef
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
llvm-svn: 16539
2004-09-28 14:42:44 +00:00
Alkis Evlogimenos
adea49eec0
Use class instead of struct for defining classes. This unbreaks the
...
build on windows. Patch contributed by Paolo Invernizzi!
llvm-svn: 16531
2004-09-28 01:59:17 +00:00
Reid Spencer
0dbad34203
Clean up the interface of TimeValue:
...
- get rid of unneeded constructors
- get rid of duplicate methods/constructors/operators
- normalize to LLVM coding standards
- wrap to 80 columns.
Many thanks to Alkis Evlogimenos for his suggestions.
llvm-svn: 16514
2004-09-25 08:29:54 +00:00
Reid Spencer
894f394594
Initial implementation of the TimeValue abstraction.
...
llvm-svn: 16511
2004-09-24 23:25:19 +00:00
John Criswell
8e633294c2
Updated the last two header files so that they are configured with
...
AC_CONFIG_HEADERS. This should prevent LLVM from needlessly re-compiling
on a re-configure.
llvm-svn: 16510
2004-09-24 21:19:06 +00:00
John Criswell
bd7cfd3d74
Modified hash_map and hash_set configuration so that they are not
...
regenerated on every run of configure.
llvm-svn: 16509
2004-09-24 18:28:00 +00:00
John Criswell
52263072bc
Configure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent it
...
from being re-generated if the new version is identical to the old version.
Hence, it should save us some recompiling after re-configures.
llvm-svn: 16506
2004-09-24 13:28:51 +00:00
Reid Spencer
67f6472f19
Change Value from a "struct" to a "class" so that VC 7.1 doesn't generate
...
missing symbols when its referenced as a class.
llvm-svn: 16496
2004-09-23 14:49:45 +00:00
Reid Spencer
8304ac75a2
Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
...
llvm-svn: 16480
2004-09-22 15:32:08 +00:00
Reid Spencer
182e31bdc5
The alloca function, strangely enough, is found in the malloc.h header file
...
on MINGW platform. Provide an #elseif case to #include malloc.h for this
platform if malloc.h is found.
Patch provided by Henrik Bach. Thanks Henrik!
llvm-svn: 16479
2004-09-22 15:28:32 +00:00
Chris Lattner
43c0372c0b
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
2004-09-20 04:48:05 +00:00
Chris Lattner
a4d3f95fa3
Do not prototype any of these passes as returning Pass*. Instead, be specific
...
llvm-svn: 16431
2004-09-20 04:41:39 +00:00
Chris Lattner
110bbafcf7
Add CallGraphNode::removeAnyCallEdgeTo method
...
llvm-svn: 16398
2004-09-18 21:34:34 +00:00
Chris Lattner
e9772b7a63
Implement new changeFunction method, nuke a never implemented one.
...
Add comments and doxygenify others.
llvm-svn: 16387
2004-09-18 00:22:43 +00:00
Chris Lattner
33596a1fba
Make sure to update the list end when an element is removed from it. This
...
fixes a crash in LICM when processing povray.
llvm-svn: 16367
2004-09-15 17:00:41 +00:00
Chris Lattner
12d1ccfbd8
Add an optional argument to PromoteMemToReg
...
llvm-svn: 16346
2004-09-15 01:02:30 +00:00
Chris Lattner
20b39fdfb9
Add an AliasSetTracker::copyValue method
...
llvm-svn: 16343
2004-09-14 19:15:12 +00:00
Chris Lattner
f1450e2a51
Remove unused pass
...
llvm-svn: 16338
2004-09-14 16:34:08 +00:00
Reid Spencer
7bd9d86b65
Okay, the list of link-time passes wasn't such a hot idea. Its prone to
...
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.
llvm-svn: 16333
2004-09-14 05:43:23 +00:00
Reid Spencer
28035a5b25
Add the GetLibraryPath method.
...
llvm-svn: 16322
2004-09-13 23:46:23 +00:00
Reid Spencer
4a1593ebd2
Add support for the link-time pass list to Modules.
...
llvm-svn: 16321
2004-09-13 23:44:23 +00:00
Reid Spencer
ce7c15737a
Simplify the sys::Memory interface per Chris' request.
...
llvm-svn: 16318
2004-09-13 22:38:11 +00:00
Reid Spencer
2114c143cf
Clean up the interface and implementation of sys::Program so that it is
...
cleanly dissociated from the sys::Path class.
llvm-svn: 16315
2004-09-13 21:48:44 +00:00
Misha Brukman
fa5efa6399
* Fix grammar
...
* Convert tabs to spaces
llvm-svn: 16300
2004-09-12 22:40:40 +00:00
Reid Spencer
c362a7299b
Fix the replace method to assert if an item was erased from the set but not
...
found in the vector. Previously, it just ignored this condition.
llvm-svn: 16296
2004-09-11 20:38:25 +00:00
Reid Spencer
3655235d99
Correct the interface of a function to use the correct typedef for an
...
argument so that it will always compile.
llvm-svn: 16284
2004-09-11 04:29:13 +00:00
Reid Spencer
605f05bd5a
Implement the remove method for deleting entries from the SetVector.
...
llvm-svn: 16283
2004-09-11 04:25:58 +00:00
Reid Spencer
9531457813
Make the dependent libraries list use a SetVector instead of a regular
...
vector so that duplicate libraries never occur within a module.
llvm-svn: 16280
2004-09-11 04:22:14 +00:00
Reid Spencer
a166926577
Initial commit of a file to declare the interface for platform independent
...
support for various memory allocation operations.
llvm-svn: 16279
2004-09-11 04:20:58 +00:00
Reid Spencer
af9d3fdc9d
Add methods for detecting file types by magic number, getting the file name
...
suffix for shared objects, and stripping a path down to its base name.
llvm-svn: 16278
2004-09-11 04:19:17 +00:00
Reid Spencer
455a47373b
Add methods for detecting different kinds of files by their magic number,
...
getting the suffix for shared objects, and extracting the basename from a
path.
llvm-svn: 16277
2004-09-11 04:18:05 +00:00
Chris Lattner
4c2703cbea
Add missing #include
...
llvm-svn: 16256
2004-09-09 02:37:56 +00:00
Reid Spencer
cfc37650dd
Add HAS_U_INT64_T
...
llvm-svn: 16184
2004-09-05 16:41:11 +00:00
Misha Brukman
8d8cc63851
I was actually wrong in my "simplification".
...
llvm-svn: 16156
2004-09-03 19:46:43 +00:00
Misha Brukman
16145fa607
Simplify check for uint64_t and u_int64_t
...
llvm-svn: 16155
2004-09-03 19:44:28 +00:00
Reid Spencer
610817d50b
Provide correct definition of uint64_t for platforms that have only
...
u_int64_t defined.
llvm-svn: 16154
2004-09-03 19:37:39 +00:00
Alkis Evlogimenos
0c50e0f211
Fixes to make LLVM compile with vc7.1.
...
Patch contributed by Paolo Invernizzi!
llvm-svn: 16152
2004-09-03 18:19:51 +00:00
John Criswell
b92941018c
Added u_int64_t because some systems use that instead of uint64_t.
...
llvm-svn: 16144
2004-09-02 18:41:30 +00:00
Alkis Evlogimenos
2fd7ccfb9c
Pull in definition of std::unary_function.
...
llvm-svn: 16140
2004-09-02 03:24:45 +00:00
Reid Spencer
c4abcbefb1
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
7043c4670f
Initial commit for platform independent system configuration support.
...
llvm-svn: 16128
2004-08-31 18:13:52 +00:00
Nate Begeman
440c16066f
Update doxygen comment now that getSpillSize is supposed to return value in bits
...
llvm-svn: 16101
2004-08-29 21:59:26 +00:00
Reid Spencer
9954f96013
Put the lib/System interface functions in llvm::sys namespace.
...
llvm-svn: 16083
2004-08-29 19:19:07 +00:00
Reid Spencer
114a2123ac
Initial commit of the platform agnostic interface to finding and executing
...
programs.
llvm-svn: 16080
2004-08-29 05:29:35 +00:00
Reid Spencer
923b7083e0
Add a function to remove whole directorys on fatal signal.
...
Doxygenify function comments.
llvm-svn: 16079
2004-08-29 05:27:15 +00:00
Reid Spencer
f7b4fa2e24
Revise the design of the Path concept per peer review. Too many changes to
...
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.
llvm-svn: 16078
2004-08-29 05:24:01 +00:00
Alkis Evlogimenos
003c38c6dd
Add getLastBlock member. This is useful when growing a densemap keyed
...
on MachineBasicBlocks.
llvm-svn: 16069
2004-08-27 04:02:35 +00:00
Alkis Evlogimenos
877fe7d13c
Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
...
MachineBasicBlocks to an arbitrary type.
llvm-svn: 16068
2004-08-27 04:00:26 +00:00
Alkis Evlogimenos
03913413da
Use newly added API in MRegisterInfo and don't expose the allocatable
...
register set anymore. Its users now use the MRegisterInfo API.
llvm-svn: 16061
2004-08-26 22:23:32 +00:00
Alkis Evlogimenos
100c89e9ea
Add getAllocatableSet() function.
...
llvm-svn: 16059
2004-08-26 22:21:04 +00:00
Reid Spencer
a50f1b794a
Initial implementation of the Path operating system concept.
...
llvm-svn: 16048
2004-08-25 06:20:07 +00:00
Reid Spencer
efd00af68d
Add a function that gets just the dependent libraries from a bytecode file.
...
Doxygenify comments.
llvm-svn: 16039
2004-08-24 22:49:07 +00:00
Reid Spencer
a3a84e2e08
Provide a method for wholesale extraction of the dependent libraries.
...
llvm-svn: 16038
2004-08-24 22:47:39 +00:00
Reid Spencer
1605d22f77
Give the -time-passes tool option a global storage location so that its
...
value can be discovered by the various LLVM tools.
llvm-svn: 16032
2004-08-24 17:52:35 +00:00
Reid Spencer
0d6613d183
Dump the DependentLibsBlockID, its not a block, its just a list inside the
...
globals info block. Add an enumerator for getting the number of enumerators
so we can range check in assertions.
llvm-svn: 15980
2004-08-21 20:42:28 +00:00
Reid Spencer
d73bd282d7
Add new methods:
...
- get the total number of types in the global type list
- handle dependent libraries
- handle target triple
llvm-svn: 15978
2004-08-21 20:41:12 +00:00
Reid Spencer
f6a56abd4d
Bytecode Analyzer cleanup:
...
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map
llvm-svn: 15977
2004-08-21 20:40:08 +00:00
Brian Gaeke
01636f4e0f
Packed types, brought to you by Brad Jones
...
llvm-svn: 15938
2004-08-20 06:00:58 +00:00
Brian Gaeke
9e089c115d
M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
...
its TargetInstrInfo accessor.
llvm-svn: 15907
2004-08-18 20:04:28 +00:00
Chris Lattner
4987b24267
All targets are now allowed to have their own MachineFunctionInfo objects,
...
also, make getInfo do some checking and cast to the appropriate concrete type.
llvm-svn: 15903
2004-08-18 18:13:16 +00:00
Brian Gaeke
af14dcae5d
M_PSEUDO_FLAG is no longer used. Get rid of it and its accessor.
...
llvm-svn: 15902
2004-08-18 17:44:17 +00:00
Chris Lattner
17411aae8b
Alkis pointed out that this is not a character (we actually support strings)
...
and as such, we should use self revealing names. Hey, makes sense to me!
llvm-svn: 15896
2004-08-18 02:22:34 +00:00
Chris Lattner
34334091d5
new method
...
llvm-svn: 15895
2004-08-17 21:38:51 +00:00
Chris Lattner
659175521b
Add support for alignment
...
llvm-svn: 15888
2004-08-17 19:14:29 +00:00
Chris Lattner
41fd07b81e
Add punctuation, add a new method
...
llvm-svn: 15886
2004-08-17 19:12:44 +00:00
Misha Brukman
d89d44e7ec
Ultra-doxygenify some function header comments.
...
llvm-svn: 15884
2004-08-17 17:52:36 +00:00
Chris Lattner
05683db298
Allow targets to specify a comment character
...
llvm-svn: 15879
2004-08-17 16:26:36 +00:00
Chris Lattner
1c87acdfa8
Add missing \t
...
llvm-svn: 15871
2004-08-17 06:48:34 +00:00
Chris Lattner
0b1a8c9b57
Add some hooks
...
llvm-svn: 15867
2004-08-17 06:36:27 +00:00
Chris Lattner
43960d806a
Allow an arbitrary prefix.
...
llvm-svn: 15864
2004-08-17 06:06:37 +00:00
Chris Lattner
1362ba130b
We now allow targets to use any prefix they want for global symbols. Lets
...
hear it for ".".
llvm-svn: 15863
2004-08-17 06:06:19 +00:00
Chris Lattner
5420524642
Some asmweriters want an _ prefix
...
llvm-svn: 15844
2004-08-17 02:28:12 +00:00
Chris Lattner
aac51aa3d8
Initial implementation of the asmprinter base class
...
llvm-svn: 15838
2004-08-16 23:15:22 +00:00
Chris Lattner
195a408814
Fit into 80 lines, add a gross hack for MachineFunctionInfo
...
llvm-svn: 15832
2004-08-16 22:35:26 +00:00
Chris Lattner
e6de0fa4a8
These files now live in lib/Target/SparcV9
...
llvm-svn: 15831
2004-08-16 21:56:15 +00:00
Reid Spencer
8b1c93c9fb
Back out include/llvm/System changes until a satisfactory solution can
...
be determined.
llvm-svn: 15817
2004-08-16 07:10:09 +00:00
Chris Lattner
94c82ae3a2
Flags and TSFlags were (thankfully) never used, so remove them. But wait,
...
not so fast, add some fields for spill slot size and alignment
llvm-svn: 15803
2004-08-16 01:07:53 +00:00
Chris Lattner
0d16641abb
Add new TargetRegisterClass::contains method
...
llvm-svn: 15783
2004-08-15 22:19:38 +00:00
Chris Lattner
6f1512829d
Implement a long overdue FIXME, by changing these methods to return void.
...
llvm-svn: 15778
2004-08-15 22:14:19 +00:00
Chris Lattner
f0e1b33f6c
Remove helper method
...
llvm-svn: 15776
2004-08-15 22:02:36 +00:00
Chris Lattner
9e7147dc23
Eliminate the RegisterClass argument, since it can easily be derived from
...
the regno
llvm-svn: 15773
2004-08-15 21:55:29 +00:00
Alkis Evlogimenos
dbe432aee7
Make this compile on gc 3.4.1 (static_cast to non-const type was not
...
allowed).
llvm-svn: 15766
2004-08-15 09:18:55 +00:00
Reid Spencer
4f35f90cec
First version of a class to represent the notion of an operating system
...
path to a file or directory and some rudimentary operations on them.
llvm-svn: 15762
2004-08-15 08:13:01 +00:00
Reid Spencer
bbd423eea8
First version of a class to represent operating system and lib/System
...
error codes in a platform independent way.
llvm-svn: 15761
2004-08-15 08:12:14 +00:00
Nate Begeman
cbc21460f2
Elminiate MachineFunction& argument from eliminateFrameIndex
...
llvm-svn: 15736
2004-08-14 22:00:10 +00:00
Chris Lattner
872e4a14da
Add a pass
...
llvm-svn: 15713
2004-08-13 03:03:44 +00:00
Chris Lattner
009bda369a
Allow targets to specify particular stack slots that certain physregs must
...
be spilled into.
llvm-svn: 15702
2004-08-12 19:01:55 +00:00
Chris Lattner
837ab8fcf6
Remove dead methods
...
llvm-svn: 15698
2004-08-12 18:37:15 +00:00
Chris Lattner
8af864daa3
Remove dead methods
...
llvm-svn: 15691
2004-08-12 17:58:27 +00:00
Misha Brukman
eac800ff93
Add new constructor.
...
llvm-svn: 15632
2004-08-10 23:10:21 +00:00
Chris Lattner
0b9b58e550
Add standard print/dump methods to CallGraph classes.
...
llvm-svn: 15569
2004-08-08 03:27:49 +00:00
Chris Lattner
c53f15303d
Move method out of line
...
llvm-svn: 15497
2004-08-04 18:49:52 +00:00
Alkis Evlogimenos
f846e483bb
Remove uneeded getValues() functions.
...
llvm-svn: 15488
2004-08-04 08:47:21 +00:00
Brian Gaeke
69f47e236f
getResultPos() is dead.
...
llvm-svn: 15484
2004-08-04 08:06:30 +00:00
Brian Gaeke
464b5b8f1a
These headers have been moved/merged into other files.
...
llvm-svn: 15477
2004-08-04 07:37:56 +00:00
Chris Lattner
a5d89de2da
New methods
...
llvm-svn: 15462
2004-08-04 04:45:42 +00:00
Chris Lattner
83c911936d
Minor efficiency improvements
...
llvm-svn: 15461
2004-08-04 04:45:29 +00:00
Chris Lattner
9b6089d893
Now that ConstantPointerRef is gone, it is the case that all operands of constants
...
are themselves constants. This should allow us to reduce a significant amount
of casting in the sourcebase.
llvm-svn: 15459
2004-08-04 02:43:00 +00:00
Chris Lattner
a81b270e18
Add a special version of getType for ConstantPointerNull, exposing the fact
...
that all Null pointers have pointer type
llvm-svn: 15458
2004-08-04 02:42:17 +00:00
Chris Lattner
ee276368a4
The Type* is redundant with the TypeSlot
...
llvm-svn: 15451
2004-08-04 00:18:37 +00:00
Tanya Lattner
763a90b5fa
Adding friend MSSchedule for ModuloScheduling pass.
...
llvm-svn: 15407
2004-08-01 18:57:38 +00:00
Chris Lattner
e8b9d3f67c
Fix warning
...
llvm-svn: 15406
2004-08-01 18:17:36 +00:00
Chris Lattner
00ff5a4e35
Expose breakcriticaledges as a functionpass
...
llvm-svn: 15370
2004-07-31 10:02:24 +00:00
Chris Lattner
ab1daf9f8a
New pass
...
llvm-svn: 15367
2004-07-31 09:59:14 +00:00
Chris Lattner
0829da11d7
Expose some helpful methods
...
llvm-svn: 15366
2004-07-31 09:59:04 +00:00
Alkis Evlogimenos
e28642a6a5
Change signature to take two basic blocks: the target and the one
...
where the goto will be appended.
llvm-svn: 15361
2004-07-31 09:37:52 +00:00
Alkis Evlogimenos
b338ca7306
Doxygenify some comments.
...
llvm-svn: 15360
2004-07-31 08:57:27 +00:00
Alkis Evlogimenos
6308a8a8e0
Remove const from iterators passed by value.
...
llvm-svn: 15359
2004-07-31 08:55:23 +00:00
Alkis Evlogimenos
2ca8d29454
Add declarations for insertGoto and reverseBranchCondition.
...
llvm-svn: 15358
2004-07-31 08:52:30 +00:00
Chris Lattner
d46a44390f
Add new M_BARRIER_FLAG flag, and isBarrier() method to TargetInstrInfo
...
opCode -> Opcode
llvm-svn: 15353
2004-07-31 02:06:48 +00:00
Chris Lattner
6f4beb3664
Add some machine CFG related stuff
...
llvm-svn: 15352
2004-07-31 01:59:11 +00:00
Misha Brukman
33a80cd54d
Enable compilation.
...
llvm-svn: 15344
2004-07-30 14:33:07 +00:00
Chris Lattner
ace669f381
Check in some useful helper routines for doing ML-style pattern matching on
...
the LLVM IR.
llvm-svn: 15341
2004-07-30 07:45:00 +00:00
Chris Lattner
a5e7a83fa9
I demand the ability to say 'if (isa<Value>(V))'!
...
llvm-svn: 15340
2004-07-30 06:59:15 +00:00