- Aug 05, 2013
-
-
Reed Kotler authored
helper functions. This can be optimized out later when the remaining parts of the helper function work is moved into the Mips16HardFloat pass. For now it forces us to use the 32 bit save/restore instructions instead of the 16 bit ones. llvm-svn: 187712
-
Bob Wilson authored
Note that this will require a recent version of the linker for Darwin builds with LTO to pass these tests. llvm-svn: 187711
-
Bob Wilson authored
Part of <rdar://problem/14620988> llvm-svn: 187710
-
- Aug 04, 2013
-
-
Timur Iskhodzhanov authored
llvm-svn: 187709
-
Benjamin Kramer authored
Fixes shared cmake build. llvm-svn: 187708
-
Daniel Jasper authored
This addresses comments in post-commit review of r187345. llvm-svn: 187707
-
Benjamin Kramer authored
double test(double a, double b, double c, double d) { return a<b ? c : d; } before: _test: ucomisd %xmm0, %xmm1 ja LBB0_2 movaps %xmm3, %xmm2 LBB0_2: movaps %xmm2, %xmm0 after: _test: cmpltsd %xmm1, %xmm0 andpd %xmm0, %xmm2 andnpd %xmm3, %xmm0 orpd %xmm2, %xmm0 Small speedup on Benchmarks/SmallPT llvm-svn: 187706
-
Elena Demikhovsky authored
llvm-svn: 187705
-
Tim Northover authored
Apparently Atoms use lea for stack adjustment, which we weren't looking for. llvm-svn: 187704
-
Tim Northover authored
Due to the weird and wondeful usual arithmetic conversions, some calculations involving negative values were getting performed in uint32_t and then promoted to int64_t, which is really not a good idea. Patch by Katsuhiro Ueno. llvm-svn: 187703
-
Benjamin Kramer authored
llvm-svn: 187702
-
Reed Kotler authored
llvm-svn: 187701
-
Benjamin Kramer authored
Store them in a place that gets cleaned up properly. llvm-svn: 187700
-
Benjamin Kramer authored
llvm-svn: 187699
-
Benjamin Kramer authored
llvm-svn: 187698
-
Benjamin Kramer authored
Dyld never outlives MemMgr, just put both on the stack. llvm-svn: 187697
-
Benjamin Kramer authored
Using an object to do the cleanup may look like overkill, but it's safer and nicer than putting deletes everywhere. llvm-svn: 187696
-
Benjamin Kramer authored
llvm-svn: 187695
-
- Aug 03, 2013
-
-
Craig Topper authored
Add support for passing -1 to __builtin_shufflevector to signify an undefined element value to match IR capabilities. llvm-svn: 187694
-
Hal Finkel authored
Internally, the PowerPC backend names the 32-bit GPRs R[0-9]+, and names the 64-bit parent GPRs X[0-9]+. When matching inline assembly constraints with explicit register names, on PPC64 when an i64 MVT has been requested, we need to follow gcc's convention of using r[0-9]+ to refer to the 64-bit (parent) registers. At some point, we'll probably want to arrange things so that the generic code in TargetLowering uses the AsmName fields declared in *RegisterInfo.td in order to match these inline asm register constraints. If we do that, this change can be reverted. llvm-svn: 187693
-
Matt Arsenault authored
Remove assertion that the verifier should catch. llvm-svn: 187692
-
Rui Ueyama authored
llvm-svn: 187690
-
Hans Wennborg authored
Since LLVM r187675, this is handled by the option parsing code itself. llvm-svn: 187689
-
Rui Ueyama authored
llvm-svn: 187688
-
Bob Wilson authored
llvm-svn: 187687
-
Bob Wilson authored
Recent versions of the OS X linker support this but follow the existing OS X linker convention of using an underscore in the option name, i.e., -export_dynamic. Rather than changing our configure scripts to check for that alternate spelling, it is simpler to just use the compiler's -rdynamic option and let it deal with translating that to the appropriate linker option. One potential disadvantage of this approach is that the compiler will typically ignore -rdynamic on platforms where it is not supported, so the HAVE_LINK_EXPORT_DYNAMIC in config.h will not necessarily show whether that option has any effect or not. I don't see any in-tree uses of that macro, so I'm assuming it is OK. llvm-svn: 187686
-
Peter Collingbourne authored
This is for the benefit of those of us with inferior debuggers which do not permit member function calls on value types. llvm-svn: 187685
-
Fariborz Jahanian authored
from 'id' result type when deciding on migration to instancetype. llvm-svn: 187684
-
Rui Ueyama authored
Thanks to Hans' patch (r187675), OptTable now handles "--", so we don't need this code in LLD. llvm-svn: 187683
-
Peter Collingbourne authored
attribute list is ordered by index. Differential Revision: http://llvm-reviews.chandlerc.com/D1265 llvm-svn: 187682
-
Rui Ueyama authored
The aim of this patch is to reduce the dependency from COFFDefinedAtom to COFF structs defined in llvm/Object/COFF.h. Currently many attributes of the atom are computed in the atom. That provide a simple interface but does not work well in some cases. There are some cases that the same type atom is created from different parts of a COFF file. One example is the BSS atom, which can be created from the defined symbol in the .bss section or from the undefined symbol. Computing attributes from different sources in the atom complicates the code. We should compute it outside the atom. In the next patch, I'll move more code from Atoms.h to ReaderCOFF.cpp. llvm-svn: 187681
-
Bob Wilson authored
Related to <rdar://problem/14578094>. llvm-svn: 187680
-
Hans Wennborg authored
> This adds a bunch of options to clang-cl. Notably, this includes > all the options that get passed when doing a default build of a > command-line project with msbuild.exe in Debug and Release modes, > and I believe all flags from Reid's original patch. The original commit was reverted in r187640 after it broke the Mac build. This should now be fixed, by Clang r187668, LLVM r187675, and putting a -- before %s in the test. llvm-svn: 187679
-
- Aug 02, 2013
-
-
Manuel Klimek authored
Patch by Frank Miller. llvm-svn: 187678
-
Rui Ueyama authored
Summary: The .drectve section contains linker command line options, and the linker is expected to interpret them as if they were given via the command line. In this patch, the command line parser in the driver is called from the object file reader to parse the string. I think this patch is important, because this is the first step towards mutable TargetInfo. We had a discussion about that on llvm-commits mailing list before. I haven't removed "const" from the function signature yet. Instead, I just use cast to remove "const". This is a temporary aid for an experiment. If we don't see any issue with this mutable TargetInfo appraoch, I'll change the function signature, and rename the class LinkerContext from TargetInfo. Reviewers: kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1246 llvm-svn: 187677
-
Manuel Klimek authored
- pull out function to drill to the CXXRecordDecl from the type, to allow recursive resolution - make the analysis more robust by rather skipping values we don't understand llvm-svn: 187676
-
Hans Wennborg authored
Everything that comes after -- should be treated as a filename. This enables passing in filenames that would otherwise be conflated with command-line options. This is especially important for clang-cl which supports options starting with /, which are easily conflatable with Unix-style path names. Differential Revision: http://llvm-reviews.chandlerc.com/D1274 llvm-svn: 187675
-
Hal Finkel authored
The ExtractLoops function tries to reduce the failing test case by extracting one or more loops from the misoptimized piece of the program. In doing this, ExtractLoops must keep the MiscompiledFunctions vector up-to-date by ensuring that the pointers refer to functions in the current failing program. Unfortunately, this is not trivial because: - ExtractLoops is iterative, and there are several early exits (and the MiscompiledFunctions vector must be consistent with the current program at every non-fatal exit point). - Several of the utility functions used by ExtractLoops (such as TestOptimizer, some of which are called through the TestFn callback parameter, and Linker::LinkModules) delete their inputs upon success. This change adds several updates of the MiscompiledFunctions vector at different points. The first is after the initial call to TestMergedProgram which checks that the loop-extracted program still works. The second is after the call to TestFn (TestOptimizer, for example). This function will delete its inputs (which is why the existing ExtractLoops logic cloned the inputs first). llvm-svn: 187674
-
Rui Ueyama authored
For an invalid input we should not call report_fatal_error(), because when LLD is used as a library, we don't want to kill the whole app because of a malformed input. llvm-svn: 187673
-
Fariborz Jahanian authored
methods which can be migrated to instancetype. llvm-svn: 187672
-