- Apr 09, 2012
-
-
Bill Wendling authored
llvm-svn: 154312
-
Bill Wendling authored
llvm-svn: 154306
-
- Apr 05, 2012
-
-
Bill Wendling authored
Consider the following program: $ cat main.c void foo(void) { } int main(int argc, char *argv[]) { foo(); return 0; } $ cat bundle.c extern void foo(void); void bar(void) { foo(); } $ clang -o main main.c $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main $ nm -m bundle.so 0000000000000f40 (__TEXT,__text) external _bar (undefined) external _foo (from executable) (undefined) external dyld_stub_binder (from libSystem) $ clang -o main main.c -O4 $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main Undefined symbols for architecture x86_64: "_foo", referenced from: _bar in bundle-elQN6d.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) The linker was told that the 'foo' in 'main' was 'internal' and had no uses, so it was dead stripped. Another situation is something like: define void @foo() { ret void } define void @bar() { call asm volatile "call _foo" ... ret void } The only use of 'foo' is inside of an inline ASM call. Since we don't look inside those for uses of functions, we don't specify this as a "use." Get around this by not invoking the 'internalize' pass by default. This is an admitted hack for LTO correctness. <rdar://problem/11185386> llvm-svn: 154124
-
- Apr 03, 2012
-
-
Bill Wendling authored
llvm-svn: 153928
-
Bill Wendling authored
llvm-svn: 153902
-
- Apr 02, 2012
-
-
Bill Wendling authored
reflected in the LLVM IR (as a declare or something), then treat it like a data object. N.B. This isn't 100% correct. The ASM parser should supply more information so that we know what type of object it is, and what attributes it should have. llvm-svn: 153870
-
Bill Wendling authored
definition for it. In that case, we want to wait for the potential definition before we create a symbol for it. llvm-svn: 153859
-
- Mar 31, 2012
-
-
Bill Wendling authored
llvm-svn: 153810
-
Bill Wendling authored
llvm-svn: 153809
-
Bill Wendling authored
llvm-svn: 153808
-
Bill Wendling authored
llvm-svn: 153807
-
Bill Wendling authored
llvm-svn: 153805
-
Bill Wendling authored
llvm-svn: 153804
-
Bill Wendling authored
llvm-svn: 153803
-
Bill Wendling authored
llvm-svn: 153802
-
Bill Wendling authored
into the function. * Reorder some header files. llvm-svn: 153783
-
- Mar 30, 2012
-
-
Bill Wendling authored
llvm-svn: 153740
-
- Mar 29, 2012
-
-
Bill Wendling authored
Module-level ASM may contain definitions of functions and globals. However, we were not telling the linker that these globals had definitions. As far as it was concerned, they were just declarations. Attempt to resolve this by inserting module-level ASM functions and globals into the '_symbol' set so that the linker will know that they have values. This gets us further towards our goal of compiling LLVM, but it still has problems when linking libLTO.dylib because of the `-dead_strip' flag that's passed to the linker. <rdar://problem/11124216> llvm-svn: 153638
-
Bill Wendling authored
llvm-svn: 153634
-
Bill Wendling authored
llvm-svn: 153632
-
Bill Wendling authored
llvm-svn: 153612
-
- Mar 28, 2012
-
-
Bill Wendling authored
llvm-svn: 153598
-
Bill Wendling authored
a bunch of comments for the various functions. No intended functionality change. llvm-svn: 153595
-
Bill Wendling authored
llvm-svn: 153567
-
- Feb 05, 2012
-
-
Chris Lattner authored
but with a critical fix to the SelectionDAG code that optimizes copies from strings into immediate stores: the previous code was stopping reading string data at the first nul. Address this by adding a new argument to llvm::getConstantStringInfo, preserving the behavior before the patch. llvm-svn: 149800
-
- Feb 01, 2012
-
-
Argyrios Kyrtzidis authored
These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 llvm-svn: 149470
-
Hal Finkel authored
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). llvm-svn: 149468
-
- Jan 31, 2012
-
-
Chris Lattner authored
update this to ConstantDataArray. There are no tests and this isn't using the preferred functionality for ripping apart strings, so I have no way to test this. llvm-svn: 149361
-
- Jan 27, 2012
-
-
Jim Grosbach authored
Provide source line number information. llvm-svn: 149101
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148578
-
- Jan 07, 2012
-
-
Rafael Espindola authored
file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. llvm-svn: 147717
-
- Dec 02, 2011
-
-
Nick Lewycky authored
change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
-
- Nov 05, 2011
-
-
Peter Collingbourne authored
materialise them in LTO. I observed a ~0.5-1% speedup for an LTO link of opt. llvm-svn: 143784
-
- Nov 04, 2011
-
-
Bill Wendling authored
decrease some code indentation. No intended functional changes. llvm-svn: 143723
-
Bill Wendling authored
llvm-svn: 143690
-
Bill Wendling authored
llvm-svn: 143689
-
Bill Wendling authored
around. This is important for some future work as well. llvm-svn: 143688
-
- Nov 01, 2011
-
-
Sebastian Pop authored
llvm-svn: 143502
-
- Oct 18, 2011
-
-
Daniel Dunbar authored
new all-targets pseudo-component. llvm-svn: 142401
-
- Sep 08, 2011
-
-
Ivan Krasin authored
llvm-svn: 139284
-