Commit Graph

287 Commits

Author SHA1 Message Date
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 e12e76e9ba, reversing
changes made to f480203fdd.
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
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
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
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 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
Graydon Hoare e2f7f11d47 Put out burning linux tinderbox. 2011-05-06 16:07:28 -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
Rafael Ávila de Espíndola 9657e5d2d3 Revert 9ab42038bb while I find what is
wrong on Windows.
2011-04-18 15:37:04 -04:00
Rafael Ávila de Espíndola 9ab42038bb Change the makefiles to use -c. 2011-04-18 15:00:17 -04:00
Rafael Ávila de Espíndola f12998e5d7 Add a -c option. 2011-04-18 10:02:52 -04:00
Rafael Ávila de Espíndola 099e094765 Produce PIC code and use -S in the Makefile. 2011-04-15 19:29:13 -04:00
Rafael Ávila de Espíndola 2214b6835d Add a -S option for producing assembly. I will move more of it to
rust once the necessary APIs are available in C.
2011-04-15 17:41:14 -04:00
Rafael Ávila de Espíndola 01b1d4110d Remove code that is already in llvm for some time. 2011-04-13 14:55:44 -04:00
Rafael Ávila de Espíndola e7b8db2e63 Enable alias analysis and the function attributes pass.
The C API extension is already upstream, we can drop the local copy once
the bots are updated.
2011-04-13 13:54:08 -04:00
Rafael Ávila de Espíndola fcb344799a Add a hack to force the linker to fetch Object.o 2011-04-11 15:49:45 -04:00
Graydon Hoare 7ac885ee8c Repair some fallout from pcwalton's last few build changes. 2011-03-21 23:06:42 -07:00