Nick Kledzik
7afde12ac4
remove the StripSymbolsPass. This should not be done by default in libLTO.dylib. The linker will remove the symbol names if needed after LTO is done
...
llvm-svn: 51722
2008-05-30 00:59:13 +00:00
Anton Korobeynikov
f77142326f
For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"
...
llvm-svn: 51687
2008-05-29 17:41:17 +00:00
Owen Anderson
15538467ae
Re-enable the newly simplified ADCE. This fixes a regression on
...
Dhrystone introduced by its removal.
llvm-svn: 51669
2008-05-29 08:48:21 +00:00
Nick Kledzik
50804655b3
use space insted of tabs
...
llvm-svn: 51623
2008-05-28 00:06:14 +00:00
Nick Kledzik
8f4cd26727
fix infinite recursion if a global's initializer references the global
...
llvm-svn: 51617
2008-05-27 22:07:08 +00:00
Devang Patel
ee44ba5c4b
Add instcombine after global optimizations.
...
llvm-svn: 51611
2008-05-27 20:42:44 +00:00
Devang Patel
17e36d815e
Use IPSCCPPass instead of IPConstantPropagationPass.
...
llvm-svn: 51605
2008-05-27 20:18:45 +00:00
Owen Anderson
9a9030f206
Remove ADCE from the optimization pipeline.
...
llvm-svn: 51581
2008-05-27 04:27:27 +00:00
Dan Gohman
c877140168
Add #includes to make some dependencies explicit.
...
llvm-svn: 51496
2008-05-23 20:40:06 +00:00
Dale Johannesen
73677fe660
Make LTO expect common and weak to be represented differently.
...
Reading .bc files from before that change will no longer work.
llvm-svn: 51457
2008-05-23 00:15:10 +00:00
Evan Cheng
272fb86c64
Rename -no-lazy to -disable-lazy-compilation.
...
llvm-svn: 51386
2008-05-21 18:20:21 +00:00
Dale Johannesen
12b968dd1e
Add CommonLinkage, in a way that preserves the
...
behavior on old .bc files.
llvm-svn: 51210
2008-05-16 22:46:40 +00:00
Dale Johannesen
5da4b3ee8b
Add CommonLinkage to lto (treated same as weak AFAICT)
...
and llvm-nm (prints as C).
llvm-svn: 51209
2008-05-16 22:44:18 +00:00
Evan Cheng
2ad66b343d
Re-enable tail duplication pass (now with default threshold down to 1 instruction).
...
llvm-svn: 51184
2008-05-16 07:57:10 +00:00
Gabor Greif
48ffb6c7dc
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.
...
llvm-svn: 51143
2008-05-15 10:04:30 +00:00
Evan Cheng
0a854f3b63
Remove tail duplication pass.
...
llvm-svn: 51139
2008-05-15 07:43:15 +00:00
Devang Patel
61c4c1d7a1
Recover nestedloop regression reported by nightly tester.
...
llvm-svn: 51110
2008-05-14 18:04:30 +00:00
Devang Patel
06f96f31ce
Do not run instruction combiner in middle of loop optimization passes.
...
llvm-svn: 51084
2008-05-14 00:26:11 +00:00
Mikhail Glushenkov
18508c5df4
Filter option names to escape symbols not allowed as C++ identifiers.
...
Makes it possible to use options with names like "Wa,".
Also fixes the -Wall option handling as a side-effect.
llvm-svn: 50973
2008-05-12 16:33:06 +00:00
Mikhail Glushenkov
0cc6bb7a70
Make it possible to choose between different compilation graph definitions at compile-time.
...
llvm-svn: 50972
2008-05-12 16:32:24 +00:00
Mikhail Glushenkov
5005376b0c
Fix some error messages; Make LLVMC pass through the exit code of a failed tool.
...
llvm-svn: 50971
2008-05-12 16:31:42 +00:00
Owen Anderson
e34787f5c0
Re-enable loop deletion by default.
...
llvm-svn: 50941
2008-05-10 07:10:24 +00:00
Mikhail Glushenkov
216a541699
Rename Example.td to Graph.td.
...
llvm-svn: 50910
2008-05-09 19:11:28 +00:00
Nick Kledzik
14848b7675
use doxygen comments for makeBuffer()
...
llvm-svn: 50908
2008-05-09 18:44:41 +00:00
Mikhail Glushenkov
ac930296dd
Reapply 50867: A small refactoring (extract method) + some comment fixes.
...
Fixed the build breakage, sorry for that.
llvm-svn: 50895
2008-05-09 08:27:26 +00:00
Nick Kledzik
8bfd104963
<rdar://problem/5917641> use getMemBufferCopy if supplied buffer is not already zero terminated
...
llvm-svn: 50880
2008-05-09 01:09:59 +00:00
Tanya Lattner
56baa19bfb
Revertin 50867 since it was breaking the build.
...
llvm-svn: 50871
2008-05-08 21:54:20 +00:00
Mikhail Glushenkov
c6482c5b8a
Add -E and -S options
...
llvm-svn: 50868
2008-05-08 20:02:36 +00:00
Mikhail Glushenkov
49359aa3b3
A small refactoring (extract method) + some comment fixes.
...
llvm-svn: 50867
2008-05-08 20:02:03 +00:00
Mikhail Glushenkov
7e401e5002
Use Doxygen-style comments.
...
llvm-svn: 50833
2008-05-07 21:50:19 +00:00
Owen Anderson
3743bcf042
Disable loop deletion until the release branch.
...
llvm-svn: 50787
2008-05-06 23:56:34 +00:00
Mikhail Glushenkov
b2547a6c28
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
...
llvm-svn: 50766
2008-05-06 18:18:58 +00:00
Mikhail Glushenkov
24d085fee4
Add new edge property combinator: weight.
...
llvm-svn: 50765
2008-05-06 18:18:20 +00:00
Mikhail Glushenkov
ca50cc143c
Add a help string for the -c option
...
llvm-svn: 50764
2008-05-06 18:17:42 +00:00
Mikhail Glushenkov
7710d5fb19
Update documentation to reflect the current state of affairs.
...
llvm-svn: 50763
2008-05-06 18:17:19 +00:00
Mikhail Glushenkov
7e594e9a00
Some cosmetic changes (change some comments, move code around a bit).
...
llvm-svn: 50762
2008-05-06 18:16:52 +00:00
Mikhail Glushenkov
8eaf175d62
Refactoring: split the function CompilationGraph::Build() into two parts.
...
llvm-svn: 50760
2008-05-06 18:15:35 +00:00
Mikhail Glushenkov
3534026221
Use edge weights to choose the right linker based on input language names.
...
llvm-svn: 50759
2008-05-06 18:15:12 +00:00
Mikhail Glushenkov
7ea1b7e206
Add weights to graph edges. Choose between edges based on their weight.
...
llvm-svn: 50757
2008-05-06 18:14:24 +00:00
Mikhail Glushenkov
e2005cb90d
Remove the UnpackValues() function.
...
llvm-svn: 50756
2008-05-06 18:13:45 +00:00
Mikhail Glushenkov
78aa308f84
Add a --linker command-line option, make all tests pass.
...
llvm-svn: 50755
2008-05-06 18:13:00 +00:00
Mikhail Glushenkov
89e32fbe59
Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.
...
llvm-svn: 50754
2008-05-06 18:12:03 +00:00
Mikhail Glushenkov
008827951e
Add -x option (like in gcc).
...
llvm-svn: 50750
2008-05-06 18:10:53 +00:00
Mikhail Glushenkov
dc50e8c5fa
Take object file as input and handle files with the same name correctly.
...
llvm-svn: 50749
2008-05-06 18:10:20 +00:00
Mikhail Glushenkov
b70916c93f
Add output redirection, rename namespace llvmcc to namespace llvmc.
...
llvm-svn: 50746
2008-05-06 18:08:59 +00:00
Mikhail Glushenkov
e9c941de05
Make AutoGenerated.inc depend also on Tools.td and Common.td
...
llvm-svn: 50745
2008-05-06 18:08:12 +00:00
Mikhail Glushenkov
c5fb5c9d2a
Utilize topological sort in CompilationGraph::Build().
...
This makes more interesting graph topologies possible. Currently all tests pass,
but more testing is needed.
llvm-svn: 50744
2008-05-06 18:07:48 +00:00
Mikhail Glushenkov
a7d9168707
Add TopologicalSort method to CompilationGraph.
...
llvm-svn: 50743
2008-05-06 18:07:14 +00:00
Mikhail Glushenkov
ae39dd376b
Do not require positional arguments when we're only printing out the graph.
...
llvm-svn: 50742
2008-05-06 17:44:16 +00:00
Mikhail Glushenkov
9d7f3626fa
Make ChooseEdge more generic and use it to choose between different toolchains.
...
llvm-svn: 50741
2008-05-06 17:28:03 +00:00
Mikhail Glushenkov
22a474513a
Remove unnecessary argument from PassThroughGraph
...
llvm-svn: 50740
2008-05-06 17:27:37 +00:00
Mikhail Glushenkov
68908552ae
Add inward edge counters to Nodes; Associate JoinLists with JoinTools.
...
llvm-svn: 50738
2008-05-06 17:26:53 +00:00
Mikhail Glushenkov
b677b370ce
Enhancements for --view-graph
...
llvm-svn: 50737
2008-05-06 17:26:14 +00:00
Mikhail Glushenkov
228a181c54
Split the Build function into two parts.
...
llvm-svn: 50736
2008-05-06 17:25:51 +00:00
Mikhail Glushenkov
47c6a2dc65
Make llvmc return 1 when the compilation fails.
...
llvm-svn: 50735
2008-05-06 17:25:23 +00:00
Mikhail Glushenkov
c00f149f81
Return const char* instead of std::string in Tool classes
...
llvm-svn: 50733
2008-05-06 17:24:26 +00:00
Mikhail Glushenkov
8d99199482
Add an ability to choose between different edges based on edge properties.
...
llvm-svn: 50732
2008-05-06 17:23:50 +00:00
Mikhail Glushenkov
2ad807d5fe
Add new edge properties: parameter_equals, element_in_list, and.
...
llvm-svn: 50730
2008-05-06 17:22:47 +00:00
Mikhail Glushenkov
00b7a3bfb5
Implemented switch_on edge property.
...
llvm-svn: 50729
2008-05-06 17:22:03 +00:00
Mikhail Glushenkov
8081df2fc6
Cosmetic change: if( -> if (
...
llvm-svn: 50728
2008-05-06 16:37:33 +00:00
Mikhail Glushenkov
adb7672c7a
Remove ExampleWithOpt.td: this file was merged with Example.td.
...
llvm-svn: 50727
2008-05-06 16:37:12 +00:00
Mikhail Glushenkov
689a173ed2
More work on edge properties. Use Edge classes instead of strings in CompilationGraph.
...
llvm-svn: 50726
2008-05-06 16:36:50 +00:00
Mikhail Glushenkov
10283528ca
Ongoing work: add an edge typechecker, rudimentary support for edge properties.
...
llvm-svn: 50725
2008-05-06 16:36:06 +00:00
Mikhail Glushenkov
72590c9cc7
Convert internal representation to use DAG. This gives us more flexibility and enables future improvements.
...
llvm-svn: 50724
2008-05-06 16:35:25 +00:00
Mikhail Glushenkov
cc7550a68c
Small const-correctness fix
...
llvm-svn: 50723
2008-05-06 16:34:39 +00:00
Mikhail Glushenkov
de53f4ce11
Code reorg
...
llvm-svn: 50722
2008-05-06 16:34:12 +00:00
Owen Anderson
6f1d91a6c5
Enable dead loop elimination.
...
llvm-svn: 50682
2008-05-05 23:38:07 +00:00
Anton Korobeynikov
67c3a24fc6
Drop llvmc also, it will be replaced by shiny new llvmc2
...
llvm-svn: 50615
2008-05-04 06:19:55 +00:00
Anton Korobeynikov
7a74dc55b7
Drop llvm2cpp, it's now a llc target
...
llvm-svn: 50614
2008-05-04 06:16:50 +00:00
Chris Lattner
7b9b1fe01a
move libcalls to the same place llvm-gcc has it.
...
llvm-svn: 50593
2008-05-02 22:05:06 +00:00
Anton Korobeynikov
ce2ed94866
Add possibility of using arbitrary to to execute stuff from bugpoint.
...
Patch by Pekka Jääskeläinen!
llvm-svn: 50373
2008-04-28 20:53:48 +00:00
Chris Lattner
0378973e09
several multiple-retval fixes for bugpoint.
...
llvm-svn: 50331
2008-04-28 00:04:58 +00:00
Nick Lewycky
1f831c0f57
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265
2008-04-25 16:53:59 +00:00
Anton Korobeynikov
cab97b00c5
Disable building of llvm2cpp. The directory will be removed before 2.3 release.
...
llvm-svn: 50193
2008-04-23 22:46:24 +00:00
Anton Korobeynikov
193b7db7c7
First step of implementing PR1538: move llvm2cpp logic to new 'target'
...
llvm-svn: 50189
2008-04-23 22:29:24 +00:00
Bill Wendling
f18d1755d0
Use the Create static method for some of these objects. They no longer
...
have public constructors. This should fix PR2246.
llvm-svn: 50145
2008-04-23 07:13:17 +00:00
Owen Anderson
7b318804cc
Move MemCpyOpt after GVN.
...
llvm-svn: 50097
2008-04-22 07:12:26 +00:00
Evan Cheng
bd805d9a00
Added command line option -no-lazy to disable JIT lazy compilation.
...
llvm-svn: 50095
2008-04-22 06:51:41 +00:00
Owen Anderson
1b5d08ac04
Add MemCpyOpt to LTO.
...
llvm-svn: 50081
2008-04-22 03:57:36 +00:00
Gabor Greif
4a1122fc9e
fix some residual old API that fell thru the cracks of the conversion script, closes http://llvm.org/bugs/show_bug.cgi?id=2246
...
llvm-svn: 50062
2008-04-21 21:31:55 +00:00
Owen Anderson
1d83396504
Use GVN in LTO instead of GCSE+LoadVN.
...
llvm-svn: 50036
2008-04-21 07:51:07 +00:00
Chris Lattner
1554876e9d
Add jump threading to liblto.
...
llvm-svn: 50028
2008-04-21 04:31:40 +00:00
Chris Lattner
8d8e939418
run the jump threading pass in llvm-ld also
...
llvm-svn: 50027
2008-04-21 04:28:40 +00:00
Chris Lattner
c9547a13e5
enable jump threading pass by default. This causes no miscompilations
...
and can significantly shrinkify some code, particularly from C++ land.
llvm-svn: 50025
2008-04-21 04:22:09 +00:00
Duncan Sands
55efcf86e9
Run SimplifyLibCalls near the beginning, not at
...
the end. It is now run at the same moment as in
llvm-gcc. Also, run StripDeadPrototypes at the
end, just before running DeadTypeElimination.
This may be useful when doing LTO. Note that
llvm-gcc runs StripDeadPrototypes but not
DeadTypeElimination.
llvm-svn: 49848
2008-04-17 12:03:38 +00:00
Dan Gohman
a7040d914f
Fix a memory leak in llc.
...
llvm-svn: 49793
2008-04-16 15:56:26 +00:00
Owen Anderson
8aaa632351
Revert r49614. As Dan pointed out, some of these aren't correct.
...
llvm-svn: 49657
2008-04-14 17:38:21 +00:00
Owen Anderson
b54defaff0
Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),
...
which is significantly more efficient.
llvm-svn: 49614
2008-04-13 19:15:17 +00:00
Evan Cheng
c0aac87374
Move memcpy / memset optimization pass after GVN.
...
llvm-svn: 49457
2008-04-10 01:33:05 +00:00
Owen Anderson
ca7e0e21f3
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00
Tanya Lattner
8b8cf62b57
Remove llvm-upgrade.
...
llvm-svn: 49347
2008-04-07 18:32:47 +00:00
Duncan Sands
64f15131d8
Use Intrinsic::getDeclaration in more places.
...
llvm-svn: 49338
2008-04-07 13:45:04 +00:00
Bill Wendling
93e8f5fbc3
Remove tabs. Patch by Mike Stump!
...
llvm-svn: 49317
2008-04-07 05:47:52 +00:00
Gabor Greif
6c6b8a57f3
API changes for class Use size reduction, wave 1.
...
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
2008-04-06 20:25:17 +00:00
Torok Edwin
7cd3a341c4
-fPIC is required on x86-64 when building shared objects.
...
llvm-svn: 49274
2008-04-06 12:42:29 +00:00
Devang Patel
06fb040f05
Reenable running StripSymbols when EH is on.
...
Dale fixed EH.
llvm-svn: 49192
2008-04-03 21:30:06 +00:00
Dale Johannesen
8b316fb8bc
Make EH work with unnamed functions. Reenable running
...
StripSymbols when EH is on.
llvm-svn: 49110
2008-04-02 20:10:52 +00:00
Chris Lattner
d141d16ed7
Change the MemoryBuffer::getFile* methods to take just a pointer to the
...
start of a filename, not a filename+length. All clients can produce a
null terminated name, and the system api's require null terminated
strings anyway.
llvm-svn: 49041
2008-04-01 18:04:03 +00:00
Chris Lattner
b529e3f1d8
stop building llvmc.
...
llvm-svn: 48964
2008-03-30 18:58:05 +00:00
Anton Korobeynikov
128a14cad5
Honour another bunch of parameter attributes in llvm2cpp
...
llvm-svn: 48942
2008-03-29 11:25:49 +00:00