2069 Commits

Author SHA1 Message Date
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
Anton Korobeynikov
f688e4a53e Honour ByVal parameter attribute in llvm2cpp
llvm-svn: 48941
2008-03-29 11:15:01 +00:00
Mikhail Glushenkov
ee0874a62e Another test commit (with git-svn)
llvm-svn: 48843
2008-03-26 21:37:43 +00:00
Mikhail Glushenkov
f7e7761c32 Test commit
llvm-svn: 48840
2008-03-26 21:18:58 +00:00