- Jul 02, 2012
-
-
Chandler Carruth authored
targets. llvm-svn: 159597
-
Chandler Carruth authored
in the abstraction for lit test suites so that the various other layers of abstraction pick up the same behavioral fix, and so that we still get a complete list of dependencies for the 'check-all' target. This should fix the follow-on issues of the same nature with various other build targets, including Clang targets. Sorry for the churn, and again thanks to Matt for testing and breaking this more thoroughly. llvm-svn: 159593
-
Chandler Carruth authored
No functionality changed here, except that the CMake installed by default on Ubuntu Lucid should actually work with the makefile generators now. Thanks to Matt for the report and head-desking required to figure out why it was failing. llvm-svn: 159588
-
Jack Carter authored
Contributer: Sasa Stankovic llvm-svn: 159574
-
Bob Wilson authored
This is still a work in progress but I believe it is currently good enough to fix PR13122 "Need unit test driver for codegen IR passes". For example, you can run llc with -stop-after=loop-reduce to have it dump out the IR after running LSR. Serializing machine-level IR is not yet supported but we have some patches in progress for that. The plan is to serialize the IR to a YAML file, containing separate sections for the LLVM IR, machine-level IR, and whatever other info is needed. Chad suggested that we stash the stop-after pass in the YAML file and use that instead of the start-after option to figure out where to restart the compilation. I think that's a great idea, but since it's not implemented yet I put the -start-after option into this patch for testing purposes. llvm-svn: 159570
-
Chandler Carruth authored
another mechanical change accomplished though the power of terrible Perl scripts. I have manually switched some "s to 's to make escaping simpler. While I started this to fix tests that aren't run in all configurations, the massive number of tests is due to a really frustrating fragility of our testing infrastructure: things like 'grep -v', 'not grep', and 'expected failures' can mask broken tests all too easily. Essentially, I'm deeply disturbed that I can change the testsuite so radically without causing any change in results for most platforms. =/ llvm-svn: 159547
-
Duncan Sands authored
llvm-svn: 159546
-
Chandler Carruth authored
versions of Bash. In addition, I can back out the change to the lit built-in shell test runner to support this. This should fix the majority of fallout on Darwin, but I suspect there will be a few straggling issues. llvm-svn: 159544
-
Bob Wilson authored
Patch by Matt Fischer! llvm-svn: 159538
-
Nuno Lopes authored
llvm-svn: 159534
-
Chandler Carruth authored
and multi-line nature of this test. I don't really feel like bugging this kind of edge-case, so just put it on one line and use single quotes. With this, every test *really* passes with the built-in shell test runner. llvm-svn: 159530
-
Chandler Carruth authored
through my perl nets. With this, the test suite passes even if I force it to run with the built-in shell test logic, except for a test which REQUIREs shell. llvm-svn: 159529
-
Stepan Dyatkovskiy authored
- Changed isSingleNumber method behaviour. Now this flag is calculated on demand. IntegersSubsetMapping - Optimized diff operation. - Replaced type of Items field from std::list with std::map. - Added new methods: bool isOverlapped(self &RHS) void add(self& RHS, SuccessorClass *S) void detachCase(self& NewMapping, SuccessorClass *Succ) void removeCase(SuccessorClass *Succ) SuccessorClass *findSuccessor(const IntTy& Val) const IntTy* getCaseSingleNumber(SuccessorClass *Succ) IntegersSubsetTest - DiffTest: Added checks for successors. SimplifyCFG Updated SwitchInst usage (now it is case-ragnes compatible) for - SimplifyEqualityComparisonWithOnlyPredecessor - FoldValueComparisonIntoPredecessors llvm-svn: 159527
-
Chandler Carruth authored
This was done through the aid of a terrible Perl creation. I will not paste any of the horrors here. Suffice to say, it require multiple staged rounds of replacements, state carried between, and a few nested-construct-parsing hacks that I'm not proud of. It happens, by luck, to be able to deal with all the TCL-quoting patterns in evidence in the LLVM test suite. If anyone is maintaining large out-of-tree test trees, feel free to poke me and I'll send you the steps I used to convert things, as well as answer any painful questions etc. IRC works best for this type of thing I find. Once converted, switch the LLVM lit config to use ShTests the same as Clang. In addition to being able to delete large amounts of Python code from 'lit', this will also simplify the entire test suite and some of lit's architecture. Finally, the test suite runs 33% faster on Linux now. ;] For my 16-hardware-thread (2x 4-core xeon e5520): 36s -> 24s llvm-svn: 159525
-
Chandler Carruth authored
a pipeline, and then a positive assertion via grep, use two RUN lines instead. Supporting these complex ideas of 'success' and 'failure' across multiple stages of a pipeline is brittle in the shell world, and would block switching to ShTest format; it only worked due to contrivances introduced by the TclTest format. Writing this as two separate RUN lines seems clearer in any event. This is another step toward completely removing TclTests from lit. llvm-svn: 159524
-
Chandler Carruth authored
use FileCheck. Aside from removing a dependence on TCL-style quoting, this also makes the tests ... significantly more robust. =] It would be really, *really* great of the maintainer(s) of the CellSPU backend went through and systematically rewrite these tests to use FileCheck. There are a lot more that have nearly this bad of abuses. Another step along the path to a TclTest-free testsuite. llvm-svn: 159523
-
Chandler Carruth authored
just provide and reference separate input files from an Inputs subdirectory. This pattern works very well in the Clang tree and is easier to understand in my opinion. It also has fewer limitations and will remove one particularly annoying use of TCL-style {} quoting from the testsuite. Also teach the LLVM lit configuration to avoid recursing into 'Inputs' subdirectories. This wasn't required for the previous 'Inputs' subdirectories used due to fortuitous suffix patterns. This is the first step to completely removing support for TCL-style tests. llvm-svn: 159520
-
Alexey Samsonov authored
1) DIContext is now able to return function name for a given instruction address (besides file/line info). 2) llvm-dwarfdump accepts flag --functions that prints the function name (if address is specified by --address flag). 3) test case that checks the basic functionality of llvm-dwarfdump added llvm-svn: 159512
-
- Jul 01, 2012
-
-
Rafael Espindola authored
implicit_def, the other instruction can be anything, including instructions that define multiple values. Be careful about that and don't assume what operand 0 is. Fixes pr13249. llvm-svn: 159509
-
Elena Demikhovsky authored
llvm-svn: 159504
-
- Jun 30, 2012
-
-
Chandler Carruth authored
re-used. Also, build in direct support for accumulating a set of lit parameters, arguments, and testsuites to run as part of a 'check-all' rule. This sinks 'check-all' from a Clang-specific construct to a generic construct of the project. llvm-svn: 159482
-
- Jun 29, 2012
-
-
Jakob Stoklund Olesen authored
When a local virtual register is made global, make sure to clear any existing kill flags. llvm-svn: 159461
-
Duncan Sands authored
the optimizers producing a multiply expression with more multiplications than the original (!). llvm-svn: 159426
-
Rafael Espindola authored
Before this patch in pic 32 bit code we would add the global base register and not load from that address. This is a really old bug, but before the introduction of the tls attributes we would never select initial exec for pic code. llvm-svn: 159409
-
Manman Ren authored
Corrected type for index of llvm.x86.avx2.gather.d.pd.256 from 256-bit to 128-bit. Corrected types for src|dst|mask of llvm.x86.avx2.gather.q.ps.256 from 256-bit to 128-bit. Support the following intrinsics: llvm.x86.avx2.gather.d.q, llvm.x86.avx2.gather.q.q llvm.x86.avx2.gather.d.q.256, llvm.x86.avx2.gather.q.q.256 llvm.x86.avx2.gather.d.d, llvm.x86.avx2.gather.q.d llvm.x86.avx2.gather.d.d.256, llvm.x86.avx2.gather.q.d.256 llvm-svn: 159402
-
Chandler Carruth authored
Clang has been getting along fine without this for quite some time. llvm-svn: 159400
-
Nick Lewycky authored
the assert reported in PR13228! llvm-svn: 159393
-
Nuno Lopes authored
While at it, merge 2 tests and FileCheckize them llvm-svn: 159388
-
Nuno Lopes authored
llvm-svn: 159385
-
Nuno Lopes authored
llvm-svn: 159384
-
Nuno Lopes authored
add a new @llvm.donothing intrinsic that, well, does nothing, and teach CodeGen to ignore calls to it llvm-svn: 159383
-
- Jun 28, 2012
-
-
Nuno Lopes authored
make LazyValueInfo analyze the default case of switch statements (we know that in the default branch the value cannot be any of the switch cases) llvm-svn: 159353
-
Chandler Carruth authored
a dedicated helper function. This will enable re-using the same logic for Clang's lit setup, etc. llvm-svn: 159333
-
Hal Finkel authored
The original algorithm only used recursive pair fusion of equal-length types. This is now extended to allow pairing of any types that share the same underlying scalar type. Because we would still generally prefer the 2^n-length types, those are formed first. Then a second set of iterations form the non-2^n-length types. Also, a call to SimplifyInstructionsInBlock has been added after each pairing iteration. This takes care of DCE (and a few other things) that make the following iterations execute somewhat faster. For the same reason, some of the simple shuffle-combination cases are now handled internally. There is some additional refactoring work to be done, but I've had many requests for this feature, so additional refactoring will come soon in future commits (as will additional test cases). llvm-svn: 159330
-
Jack Carter authored
following description in the gnu sources: Print $0 if operand is zero otherwise print the op normally. llvm-svn: 159324
-
Nuno Lopes authored
make LVI::getEdgeValue() always intersect the constraints of the edge with the range of the block. Previously it was only performing the intersection for a few cases, thus losing precision llvm-svn: 159320
-
Chandler Carruth authored
This is another vestige of the DejaGNU roots. There were FIXMEs in the lit setup to add a 'lit.site.cfg', which has been around for quite some time now, so I've properly switched the handling of the 4 things actually used in site.exp to go through lit.site.cfg now. No more parsing of the .exp file, one fewer configure-style generated file, etc., etc. llvm-svn: 159313
-
Chandler Carruth authored
removing '-lit' qualifiers from make rules. I've left a legacy 'check-local-lit' rule in case build scripts have this encoded somewhere. llvm-svn: 159311
-
Chandler Carruth authored
default in forever, and hasn't even worked since most of the .exp files were removed. llvm-svn: 159307
-
Chandler Carruth authored
More importantly, these files don't even have the variable that these lines purport to substite. llvm-svn: 159304
-