- Aug 07, 2013
-
-
Shuxin Yang authored
As of this revision, all functions of LTOCodeGenerator are consistent in ret-true-on-succ. Tested on multiple OSes. llvm-svn: 187864
-
- Aug 06, 2013
-
-
Shuxin Yang authored
llvm-svn: 187819
-
Tom Stellard authored
Patch by: Mei Ye llvm-svn: 187764
-
Shuxin Yang authored
llvm-svn: 187761
-
- Aug 02, 2013
-
-
Eric Christopher authored
Patch by Benjamin Scarlet! llvm-svn: 187641
-
- Aug 01, 2013
-
-
Bill Wendling authored
Function attributes are the future! So just query whether we want to realign the stack directly from the function instead of through a random target options structure. llvm-svn: 187618
-
- Jul 27, 2013
-
-
Tom Stellard authored
Merge consecutive if-regions if they contain identical statements. Both transformations reduce number of branches. The transformation is guarded by a target-hook, and is currently enabled only for +R600, but the correctness has been tested on X86 target using a variety of CPU benchmarks. Patch by: Mei Ye llvm-svn: 187278
-
- Jul 25, 2013
-
-
Bill Wendling authored
There's no need to specify a flag to omit frame pointer elimination on non-leaf nodes...(Honestly, I can't parse that option out.) Use the function attribute stuff instead. llvm-svn: 187093
-
- Jul 23, 2013
-
-
Rafael Espindola authored
The main observation is that we never need both the filesize and the map size. When mapping a slice of a file, it doesn't make sense to request a null terminator and that would be the only case where the filesize would be used. There are other cleanups that should be done in this area: * A client should not have to pass the size (even an explicit -1) to say if it wants a null terminator or not, so we should probably swap the argument order. * The default should be to not require a null terminator. Very few clients require this, but many end up asking for it just because it is the default. llvm-svn: 186984
-
Shuxin Yang authored
llvm-svn: 186931
-
- Jul 22, 2013
-
-
Bill Wendling authored
Use the function attributes to pass along the stack protector buffer size. Now that we have robust function attributes, don't use a command line option to specify the stack protecto buffer size. llvm-svn: 186863
-
Shuxin Yang authored
There already have two "dead" functions, initialize{IPO|IPA}, defined for similar purpose. I decide not to call these two functions for two reasons: o. they don't cover all LTO passes (which will soon be separated into IPO and post-IPO passes) o. We have not yet figured out the right passes and the ordering for IPO and post-IPO stages, meaning this change is only for the time being. Since LTO passes are registered, we are now able to print IR before and after particular point. For OSX users: -------------- "...-Wl,-mllvm -Wl,-print-after=<pass-name>" will print IR after the specified pass. For Other UNIX with GNU gold linker: ------------------------------------ "-Wl,-plugin-opt=-print-after=<pass-name>" should work. (NOTE: no need for "-Wl,-mllvm") Strip "-Wl," if flags are fed directly to linker instead of clang/clang++. llvm-svn: 186853
-
- Jul 16, 2013
-
-
Rafael Espindola authored
This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). llvm-svn: 186447
-
- Jul 13, 2013
-
-
Chandler Carruth authored
http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/4328 Original commit log: Use the function attributes to pass along the stack protector buffer size. llvm-svn: 186234
-
Bill Wendling authored
Now that we have robust function attributes, don't use a command line option to specify the stack protecto buffer size. llvm-svn: 186217
-
- Jul 09, 2013
-
-
Bill Wendling authored
The problem with running internalize before we're ready to output an object file is that it may change a 'weak' symbol into an internal one, but that symbol could be needed by an external object file --- e.g. with arclite. <rdar://problem/14334895> llvm-svn: 185882
-
- Jul 05, 2013
-
-
Rafael Espindola authored
llvm-svn: 185719
-
- Jul 02, 2013
-
-
Rafael Espindola authored
This is dead code since PIC16 was removed in 2010. The result was an odd mix, where some parts would carefully pass it along and others would assert it was zero (most of the object streamer for example). llvm-svn: 185436
-
- Jun 18, 2013
-
-
Bill Wendling authored
Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
-
- Jun 17, 2013
-
-
Rafael Espindola authored
This patch also adds a simpler version of sys::fs::remove and a tool_output_file constructor for when we already have an open file. llvm-svn: 184095
-
- Jun 13, 2013
-
-
Rafael Espindola authored
llvm-svn: 183947
-
- Jun 12, 2013
-
-
Rafael Espindola authored
llvm-svn: 183840
-
- Jun 11, 2013
-
-
Rafael Espindola authored
This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183782
-
Rafael Espindola authored
No functionality change. llvm-svn: 183759
-
- Jun 10, 2013
-
-
Rafael Espindola authored
llvm-svn: 183669
-
- Jun 04, 2013
-
-
Bob Wilson authored
Specifying the load address for Darwin i386 dylibs was a performance optimization for dyld that is not relevant for x86_64 or arm. We can just remove this now. llvm-svn: 183230
-
- May 29, 2013
-
-
Bill Wendling authored
Not only does this break encapsulation, it's gross. llvm-svn: 182876
-
- May 25, 2013
-
-
Michael J. Spencer authored
llvm-svn: 182680
-
- May 23, 2013
-
-
Bill Wendling authored
Move the processing of the command line options to right before we create the TargetMachine instead of after. <rdar://problem/13468287> llvm-svn: 182611
-
- May 04, 2013
-
-
Rafael Espindola authored
Update comments, fix * placement, fix method names that are not used in clang, add a linkInModule that takes a Mode and put it in Linker.cpp. llvm-svn: 181099
-
Rafael Espindola authored
The linker is now responsible only for actually linking the modules, it is up to the clients to create and destroy them. llvm-svn: 181098
-
Rafael Espindola authored
llvm-svn: 181096
-
Rafael Espindola authored
llvm-svn: 181095
-
- May 03, 2013
-
-
Bill Wendling authored
llvm-svn: 180967
-
- May 02, 2013
-
-
Bill Wendling authored
llvm-svn: 180949
-
- Apr 24, 2013
-
-
Rafael Espindola authored
LTO was always creating an empty llvm.compiler.used. With this patch we now first check if there is anything to be added first. Unfortunately, there is no good way to test libLTO in isolation as it needs gold or ld64, but there are bots doing LTO builds that found this problem. llvm-svn: 180202
-
- Apr 17, 2013
-
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D598 llvm-svn: 179725
-
- Mar 30, 2013
-
-
- Mar 13, 2013
-
-
Lang Hames authored
codegen passes. This brings it in to line with clang and llc's codegen setup, and tidies up the code. If I understand correctly, adding ModulePasses to a FunctionPassManager is bogus. It only seems to explode if an added ModulePass depends on a FunctionPass though, which might be why this code has survived so long. Fixes <rdar://problem/13386816>. llvm-svn: 176977
-
- Feb 28, 2013
-
-
Bill Wendling authored
- Consistency with opt (which supports the same option with the same meaning and description). - Debugging gold plugin-based linking without optimizations getting in the way. - Debugging programs linked with the gold plugin while preserving the original debug info. - Fine-grained control over LTO passes using the gold plugin in combination with opt (or clang/dragonegg). Patch by Cristiano Giuffrida! llvm-svn: 176257
-