- Mar 21, 2011
-
-
Anders Carlsson authored
As suggested by Nick Lewycky, ignore debugging intrinsics when trying to decide whether a destructor is empty or not. llvm-svn: 127985
-
Nick Lewycky authored
llvm-svn: 127984
-
Peter Collingbourne authored
a year now. Update the internals manual. llvm-svn: 127983
-
Eli Friedman authored
llvm-svn: 127982
-
Evan Cheng authored
Re-apply r127953 with fixes: eliminate empty return block if it has no predecessors; update dominator tree if cfg is modified. llvm-svn: 127981
-
- Mar 20, 2011
-
-
David Chisnall authored
llvm-svn: 127980
-
Anders Carlsson authored
llvm-svn: 127977
-
Anders Carlsson authored
llvm-svn: 127976
-
Anders Carlsson authored
llvm-svn: 127975
-
Anders Carlsson authored
llvm-svn: 127974
-
Jakob Stoklund Olesen authored
llvm-svn: 127973
-
Rafael Espindola authored
gun as does. This makes it a lot easier to compare the output of both as the addresses are now a lot closer. llvm-svn: 127972
-
Argyrios Kyrtzidis authored
if '-x' flag is present it will be unused. llvm-svn: 127971
-
Anders Carlsson authored
Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if the function passed is empty. llvm-svn: 127970
-
Benjamin Kramer authored
- glibc falls back to fork+exec if a file actions object is present. - On BSDs this saves a malloc. llvm-svn: 127969
-
Peter Collingbourne authored
llvm-svn: 127967
-
Argyrios Kyrtzidis authored
If a class inherits from RefCountedBaseVPTR allow all its subclasses to be used with IntrusiveRefCntPtr. llvm-svn: 127966
-
Jakob Stoklund Olesen authored
This can happen when multiple sibling registers are spilled after live range splitting. llvm-svn: 127965
-
Jakob Stoklund Olesen authored
llvm-svn: 127964
-
Greg Clayton authored
static archive that can be linked against. LLDB.framework/lldb.so exports a very controlled API. Splitting the API into a static library allows other tools (debugserver for now) to use the power of the LLDB debugger core, yet not export it as its API is not portable or maintainable. The Host layer and many of the other internal only APIs can now be statically linked against. Now LLDB.framework/lldb.so links against "liblldb-core.a" instead of compiling the .o files only for the shared library. This fix is only for compiling with Xcode as the Makefile based build already does this. The Xcode projecdt compiler has been changed to LLVM. Anyone using Xcode 3 will need to manually change the compiler back to GCC 4.2, or update to Xcode 4. llvm-svn: 127963
-
Daniel Dunbar authored
llvm-svn: 127962
-
Francois Pichet authored
Downgrade err_mismatched_exception_spec to a ExtWarning in Microsoft mode. MSVC doesn't do any validation on exception specifications. This remove 1 error when parsing MSVC stl lib with clang. llvm-svn: 127961
-
Jakob Stoklund Olesen authored
llvm-svn: 127960
-
Jakob Stoklund Olesen authored
llvm-svn: 127959
-
- Mar 19, 2011
-
-
Oscar Fuentes authored
Some of those POSIX <-> Windows command line conversions ended on failure. llvm-svn: 127958
-
Oscar Fuentes authored
llvm-svn: 127957
-
Oscar Fuentes authored
llvm-svn: 127956
-
Daniel Dunbar authored
to canonicalize IR", it broke a lot of things. llvm-svn: 127954
-
Evan Cheng authored
to have single return block (at least getting there) for optimizations. This is general goodness but it would prevent some tailcall optimizations. One specific case is code like this: int f1(void); int f2(void); int f3(void); int f4(void); int f5(void); int f6(void); int foo(int x) { switch(x) { case 1: return f1(); case 2: return f2(); case 3: return f3(); case 4: return f4(); case 5: return f5(); case 6: return f6(); } } => LBB0_2: ## %sw.bb callq _f1 popq %rbp ret LBB0_3: ## %sw.bb1 callq _f2 popq %rbp ret LBB0_4: ## %sw.bb3 callq _f3 popq %rbp ret This patch teaches codegenprep to duplicate returns when the return value is a phi and where the phi operands are produced by tail calls followed by an unconditional branch: sw.bb7: ; preds = %entry %call8 = tail call i32 @f5() nounwind br label %return sw.bb9: ; preds = %entry %call10 = tail call i32 @f6() nounwind br label %return return: %retval.0 = phi i32 [ %call10, %sw.bb9 ], [ %call8, %sw.bb7 ], ... [ 0, %entry ] ret i32 %retval.0 This allows codegen to generate better code like this: LBB0_2: ## %sw.bb jmp _f1 ## TAILCALL LBB0_3: ## %sw.bb1 jmp _f2 ## TAILCALL LBB0_4: ## %sw.bb3 jmp _f3 ## TAILCALL rdar://9147433 llvm-svn: 127953
-
Evan Cheng authored
llvm-svn: 127952
-
Nadav Rotem authored
not have native support for this operation (such as X86). The legalized code uses two vector INT_TO_FP operations and is faster than scalarizing. llvm-svn: 127951
-
Benjamin Kramer authored
llvm-svn: 127950
-
Anton Yartsev authored
llvm-svn: 127949
-
Eli Friedman authored
llvm-svn: 127948
-
Eli Friedman authored
description updates. llvm-svn: 127947
-
Eli Friedman authored
update short descriptions to match those from the options, alphabetize table of contents. llvm-svn: 127946
-
Stuart Hastings authored
llvm-svn: 127945
-
-
-
Daniel Dunbar authored
llvm-svn: 127942
-