Brian Anderson
bb1e79768c
llvm: Switch back to LLVM trunk
2012-01-13 11:05:59 -08:00
Josh Matthews
e25f6d03eb
Remove rebase error.
2011-12-18 23:44:21 -05:00
Josh Matthews
e383004985
Add debug info for local vars, basic fundamental types, and lexical blocks, along with source line information generation for individual instructions.
2011-12-18 23:41:03 -05:00
Josh Matthews
10030a37d5
Generate basic debug info for files, functions and compile units.
2011-12-18 23:39:54 -05:00
Brian Anderson
a92218e630
Upgrade LLVM to svn revision 145779
...
This pulls in commits 145765 & 145766, which are required for split stacks.
2011-12-04 14:59:56 -08:00
Brian Anderson
9a188b2e94
rustc: Fall back to intrinsics.ll if we can't parse the bc
...
This will allow us to transition to the new bitcode format.
2011-11-25 22:54:10 -08:00
Niko Matsakis
834b6879ea
temp workaround for failure to pass ulonglong successfully
2011-11-16 15:27:09 -08:00
Haitao Li
b8dd148444
rustllvm: Add a GetOrInsertFunction wrapper
...
Fixes issue #1161
Test-case-by: Brian Anderson <banderson@mozilla.com>
Signed-off-by: Haitao Li <lihaitao@gmail.com>
2011-11-15 00:33:29 +08:00
Haitao Li
b12de98814
rustc: Add support of generating LLVM assembly
...
rustc generates output files in LLVM bitcode format if "--emit-llvm"
option is given. When used with the "-S" option, rustc generates LLVM
intermediate language assembly files.
Fixes Issue #476
2011-11-07 21:44:40 +08:00
Patrick Walton
329f045d4c
rustc: Enable segmented stacks in LLVM when --stack-growth is on
2011-10-31 14:42:44 -07:00
Brian Anderson
160c56e768
Get 'make tidy' to work rustllvm and rt again
2011-10-21 17:35:52 -07:00
Elly Jones
a5dc6a7aa8
Update LinkModules invocation to use new prototype
...
LLVM revision 141606 changes the prototype of llvm::Linker::LinkModules.
Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-10-15 15:53:18 -07:00
Lindsey Kuper
0d43e90172
Revert "Merge pull request #1025 from elly/master"
...
This reverts commit e12e76e9ba0785d556a6ea3ca71e4a467e2aeb4d, reversing
changes made to f480203fdd4d8b498453c1f7cc0ad4f59d87c596.
2011-10-11 22:23:47 -04:00
Elly Jones
19eae0bc38
Update LinkModules invocation to use new prototype
...
LLVM revision 141606 changes the prototype of llvm::Linker::LinkModules.
Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-10-11 21:32:34 -04:00
Brian Anderson
5e4637b61f
Add Rust definitions for new LLVM EH instructions
...
Issue #236
2011-09-11 17:31:38 -07:00
Marijn Haverbeke
58110b1b13
Follow LLVM header file shuffling
...
This allows us to compile against revision 138708. I need this, because
the version we currently use is causing mysterious corruption of object
files during linking on win, apparently triggered by my vec-representation
patch.
2011-08-28 20:59:05 +02:00
Patrick Walton
955bef3f4d
rustllvm: Emit frame map labels
2011-08-18 18:51:25 -07:00
Michael Sullivan
c11f8a468b
Shut up an uninitialized variable warning.
2011-08-18 18:16:45 -07:00
Patrick Walton
4a894dae8e
rustllvm: Emit a stack map for frames with only static type descriptors
2011-08-18 18:09:45 -07:00
Patrick Walton
117d21d6c2
rustc: Stub stack map generation machinery
2011-08-17 19:18:44 -07:00
Patrick Walton
e8d170beae
rt: Stub Rust GC metadata printer and Rust GC strategy modules
2011-08-11 21:15:26 -07:00
Brian Anderson
0a22f91c9c
Revert "Add missing functions to rustllvm.def.in"
...
This reverts commit 1bea273974c3c9570f76fd9c4a4a985ca05bd60f.
Looks like this is not actually necessary. Hard to tell since the tinderboxes
are falling behind.
2011-08-11 18:23:21 -07:00
Brian Anderson
1bea273974
Add missing functions to rustllvm.def.in
2011-08-11 17:50:10 -07:00
Rafael Ávila de Espíndola
6402b63b4f
Use the new C API for PassManagerBuilder.
2011-08-11 19:09:52 -04:00
Rafael Ávila de Espíndola
4cee063976
Update for llvm api change.
2011-08-11 14:58:30 -07:00
Brian Anderson
09ca57adb0
Revert "Revert "Rename Passes2.cpp to Passes.cpp""
...
This reverts commit 52507f406ee0dab26681227266ddce7c8ae6d37f.
2011-07-17 19:16:23 -07:00
Brian Anderson
52507f406e
Revert "Rename Passes2.cpp to Passes.cpp"
...
This reverts commit c18127b913e25cb019087c885ad61e145f3a3df0.
2011-07-17 19:15:27 -07:00
Brian Anderson
c18127b913
Rename Passes2.cpp to Passes.cpp
...
The original Passes.cpp is dead so Passes2 gets promoted
2011-07-17 14:57:28 -07:00
Brian Anderson
13f5de0671
Remove Passes.cpp from rustllvm
...
Upstreamed
2011-07-17 14:57:28 -07:00
Brian Anderson
b7699b7889
Remove Object.h from rustllvm
...
This file appears to be upstream now
2011-07-17 14:57:28 -07:00
Rafael Ávila de Espíndola
c124a025bf
Move rustc to the new llvm type system. Requires an update to llvm trunk.
2011-07-14 15:19:17 -04:00
Kelly Wilson
1e4f198a1d
Update RustWrapper.cpp so that LLVM revision 134231 from June 30, 2011 at 22:15 GMT, works.
2011-07-01 00:56:49 -06:00
Rafael Ávila de Espíndola
bea28ea537
Easy fix for using newer LLVMs: just use the MachOObjectFile.cpp they provide.
2011-06-27 11:52:23 -04:00
Rafael Ávila de Espíndola
64513808ca
Use fast regalloc and codegen at OptLevel=0.
2011-06-22 16:50:30 -04:00
Rafael Ávila de Espíndola
698022d351
Update rust to build with newer llvm versions.
2011-06-08 14:08:24 -04:00
Brian Anderson
1ad58d4dd6
rustllvm: Free TargetMachine in LLVMRustWriteOutputFile
2011-05-14 00:48:51 -04:00
Graydon Hoare
d6f1fcff6b
Add --time-llvm-passes.
2011-05-10 16:10:08 -07:00
Graydon Hoare
db3b9a4992
Stop stringifying integers to get integral constants.
2011-05-07 18:54:23 +00:00
Patrick Walton
ca1b1666e0
rustllvm: Add a function to add the standard function passes to a module; change uses of bool in LLVMAddStandardModulePasses() to LLVMBool
2011-05-06 18:13:22 -07:00
Graydon Hoare
e2f7f11d47
Put out burning linux tinderbox.
2011-05-06 16:07:28 -07:00
Patrick Walton
d089d9f9ed
rustllvm: Add a binding to the LLVM standard module passes
2011-05-06 12:38:00 -07:00
Kelly Wilson
b4a0d891c0
Ge the host triple using LLVM. Fix a few 'mutable' warnings also.
2011-05-06 11:30:39 -07:00
Patrick Walton
5fb6e6364b
rustc: Add a binding to LLVM's bitcode parser
2011-05-05 11:34:45 -07:00
Patrick Walton
729648282b
rustllvm: Add bindings to the LLVM linker
2011-05-04 21:27:00 -07:00
Patrick Walton
c47a075a99
rustllvm: Whitespace police in RustWrapper.cpp
2011-05-04 20:30:23 -07:00
Patrick Walton
f969b227c1
rustc: Disable frame pointer omission
2011-05-02 11:01:51 -07:00
Rafael Ávila de Espíndola
b0980b7d79
Add a very minimal set of .cfi_* statements to get part of backtraces
...
working (on hello world at least):
~/inst/gdb/bin/gdb --args ./foo
(gdb) b write
...
(gdb) r
...
Breakpoint 1, 0xf7f04270 in write () from /lib32/libc.so.6
(gdb) bt
0 0xf7f04270 in write () from /lib32/libc.so.6
1 0x0804931a in rust_native_cdecl_3 ()
2 0x080487d7 in _rust_wrapper3_ ()
3 0x0804890a in _rust_fn5_main ()
4 0x08049440 in rust_native_cdecl_7 ()
2011-04-28 16:19:20 -04:00
Graydon Hoare
592cd5fa30
Disable frame-pointer elimination (not sure how this didn't get commited before).
2011-04-26 15:21:20 -07:00
Rafael Ávila de Espíndola
fac8cc3b06
Use -c in the Makefiles.
2011-04-22 15:15:52 -04:00
Rafael Ávila de Espíndola
9eb1479746
Dispose the module.
...
Thanks to brson for noticing it.
2011-04-22 14:49:02 -04:00