- Nov 05, 2013
-
-
Yuchen Wu authored
This reverts commit 9cacd131c22b888303cb88e9a3235b2d7b2f19a1. llvm-svn: 194039
-
Yuchen Wu authored
This test compares the output of llvm-cov against a coverage file generated by gcov. llvm-svn: 194038
-
Rui Ueyama authored
llvm-svn: 194037
-
Evgeniy Stepanov authored
It was causing randomly missing origins. llvm-svn: 194036
-
Greg Clayton authored
Instead of looking up registers by name, we use the generic ID when we can. Also added code that creates an extra frame when running expressions by pushing the current PC and FP and then hooking up the FP backchain. This code is "#if 0" out for now until we can pair it with unwinder fixes. llvm-svn: 194035
-
Yuchen Wu authored
This will allow for much easier testing when the input files are in a different folder from the test script. llvm-svn: 194034
-
Yuchen Wu authored
This patch enables llvm-cov to correctly output the run count stored in the GCDA file. GCOVProfiling currently does not generate this information, so the GCDA run data had to be hacked on from a GCDA file generated by gcc. This is corrected by a subsequent patch. With the run and program data included, both llvm-cov and gcov produced the same output. llvm-svn: 194033
-
Rafael Espindola authored
llvm-svn: 194032
-
Fariborz Jahanian authored
"Missing call to Super" in the overriding method and not in the method itself. // rdar://15385981. llvm-svn: 194031
-
Rafael Espindola authored
ErrorOr had quiet a bit of complexity and indirection to be able to hold a user type with the error. That feature is not used anymore. This patch removes it, it will live in svn history if we ever need it again. If we do need it again, IMHO there is one thing that should be done differently: Holding extra info in the error is not a property a function also returning a value or not. The ability to hold extra info should be in the error type and ErrorOr templated over it so that we don't need the funny looking ErrorOr<void>. llvm-svn: 194030
-
Jason Molenda authored
the stack pointer. llvm-svn: 194029
-
Rafael Espindola authored
It was never transporting any value in addition to the error_code. llvm-svn: 194028
-
Hal Finkel authored
As with the other loop unrolling parameters (the unrolling threshold, partial unrolling, etc.) runtime unrolling can now also be controlled via the constructor. This will be necessary for moving non-trivial unrolling late in the pass manager (after loop vectorization). No functionality change intended. llvm-svn: 194027
-
NAKAMURA Takumi authored
Revert r194019 to r194021, "Submit the basic port of the rest of ARM constant islands code to Mips." It broke -Asserts build. llvm-svn: 194026
-
Tim Northover authored
ResolveFrameIndex had what appeared to be a very nasty hack for when the frame-index referred to a callee-saved register. In this case it "adjusted" the offset so that the address was correct if (and only if) the MachineInstr immediately followed the respective push. This "worked" for all forms of GPR & DPR but was only ever used to set the frame pointer itself, and once this was put in a more sensible location the entire state-tracking machinery it relied on became redundant. So I stripped it. The only wrinkle is that "add r7, sp, #0" might theoretically be slower (need an actual ALU slot) compared to "mov r7, sp" so I added a micro-optimisation that also makes emitARMRegUpdate and emitT2RegUpdate also work when NumBytes == 0. No test changes since there shouldn't be any functionality change. llvm-svn: 194025
-
Tim Northover authored
If an inline assembly operand has multiple constraints (e.g. "Ir" for immediate or register) and an operand modifier (E.g. "w" for "print register as wN") then we need to decide behaviour when the modifier doesn't apply to the constraint. Previousely produced some combination of an assertion failure and a fatal error. GCC's behaviour appears to be to ignore the modifier and print the operand in the default way. This patch should implement that. llvm-svn: 194024
-
- Nov 04, 2013
-
-
Jason Molenda authored
where it was using the wrong register numbering scheme to express where the rbp could be retrieved from. llvm-svn: 194023
-
Reed Kotler authored
when compiling with DEBUG. llvm-svn: 194021
-
Reed Kotler authored
islands. I forgot to add it to svn on that patch. Ooops. llvm-svn: 194020
-
Reed Kotler authored
Two test cases are added which reflect the next level of functionality: constants getting moved to water areas that are out of range from the initial placement at the end of the function and basic blocks being split to create water when none exists that can be used. There is a bunch of this code that is not complete and has been marked with IN_PROGRESS. I will finish cleaning this all up during the next week or two and submit the rest of the test cases. I have elminated some code for dealing with inline assembly because to me it unecessarily complicates things and some of the newer features of llvm like function attributies and builtin assembler give me better tools to solve the alignment issues created there. Also, for Mips16 I even have the option of not doing constant islands in the present of inline assembler if I chose. llvm-svn: 194019
-
Dmitri Gribenko authored
This change fixes Richard's testcase for r193815. Now we include non-explicit submodules into the list of exports. The test failed previously because: - recursive_visibility_a1.inner is not imported (only recursive_visibility_a1 is), - thus the 'inner' submodule is not showing up in any of the import lists, - and because of this getExportedModules() is not returning the correct module set -- it only considers modules that are imported. The fix is to make Module::getExportedModules() include non-explicit submodules into the list of exports. llvm-svn: 194018
-
Shuxin Yang authored
llvm-svn: 194017
-
Eric Christopher authored
those produced by clang for the inline asm bswap conversion. Modified from a patch by Chris Smowton. llvm-svn: 194016
-
Benjamin Kramer authored
STL debug mode checks this. llvm-svn: 194015
-
Matt Arsenault authored
This fixes an assertion failure with a different sized address space. llvm-svn: 194014
-
Matt Arsenault authored
When the elements are extracted from a select on vectors or a vector select, do the select on the extracted scalars from the input if there is only one use. llvm-svn: 194013
-
rdar://problem/15367406Greg Clayton authored
Fixed a case where on darwin, after recent compiler changes a few months ago, we could not execute dlopen() in an expression, or use "process load". The issue was some compiler option default values changed. We now override these settings to get the old behavior back. llvm-svn: 194012
-
Sean Silva authored
llvm-svn: 194011
-
Simon Atanasyan authored
Patch reviewed by Shankar Easwaran. llvm-svn: 194010
-
Greg Clayton authored
Cleaned up ClangUserExpression::Evaluate() to have only one variant that takes a "const EvaluateExpressionOptions& options" instead of taking many arguments. The "--debug" option is designed to allow you to debug your expression by stopping at the first instruction (it enables --ignore-breakpoints=true and --unwind-on-error=false) and allowing you to step through your JIT code. It needs to be more integrated with the thread plan, so I am checking this in so Jim Ingham can make it happen. llvm-svn: 194009
-
Jakub Staszak authored
llvm-svn: 194007
-
Cameron McInally authored
llvm-svn: 194006
-
Anna Zaks authored
llvm-svn: 194005
-
Anna Zaks authored
The analyzer cannot reason about the internal invariances of the data structure (radar://15194597). llvm-svn: 194004
-
Rui Ueyama authored
llvm-svn: 194003
-
Kaelyn Uhrain authored
Similar C code isn't caught as it seems to hit a different code path. Also, as the check is only done for record pointers, cases involving an overloaded operator-> are not handled either. Note that the reason this check is done in the parser instead of Sema is not related to having enough knowledge about the current state as it is about being able to fix up the parser's state to be able to recover and traverse the correct code paths. llvm-svn: 194002
-
Manman Ren authored
llvm-svn: 194001
-
Rafael Espindola authored
With this patch we produce alias for cases like template<typename T> struct foobar { foobar() { } }; template struct foobar<void>; We just have to be careful to produce the same aliases in every TU because of comdats. llvm-svn: 194000
-
Rafael Espindola authored
llvm-svn: 193997
-
Rafael Espindola authored
In order to create an ObjectFile implementation that uses bitcode files, we need to propagate the bitcode errors to the ObjectFile interface, so we need to convert it to use the same error handling as ObjectFile: error_code. llvm-svn: 193996
-