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