- Jul 02, 2012
-
-
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
-
Bob Wilson authored
llvm-svn: 159569
-
Bob Wilson authored
This makes it possible to just use a zero value to represent "no pass", so the phony NoPassID global variable is no longer needed. llvm-svn: 159568
-
Bob Wilson authored
This is a preliminary step toward having TargetPassConfig be able to start and stop the compilation at specified passes for unit testing and debugging. No functionality change. llvm-svn: 159567
-
Andrew Trick authored
My last checkin was apparently not the branch I intended. It was missing one change (added by chandlerc), and contained a spurious change. llvm-svn: 159548
-
Duncan Sands authored
llvm-svn: 159546
-
Manman Ren authored
register does not have multiple definitions. Modified TwoAddressInstructionPass to use getUniqueVRegDef instead of getVRegDef. llvm-svn: 159545
-
Andrew Trick authored
Reapplies r159406 with minor cleanup. The regressions appear to have been spurious. llvm-svn: 159541
-
Bob Wilson authored
Patch by Matt Fischer! llvm-svn: 159538
-
Nuno Lopes authored
llvm-svn: 159534
-
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
-
Kostya Serebryany authored
llvm-svn: 159522
-
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
-
Craig Topper authored
Reduce code size by using a second switch statement to avoid extra calls to SelectAtomic64. Also catch cases where SelectAtomic64 fails. llvm-svn: 159503
-
Craig Topper authored
llvm-svn: 159502
-
Craig Topper authored
Fix a crash on release builds if gather intrinsics are passed a non-constant value for the last argument. llvm-svn: 159501
-
Craig Topper authored
Use a second switch statement to reduce number of calls to SelectGather in code. Reduces code size a bit. llvm-svn: 159500
-
Benjamin Kramer authored
No functionality change. llvm-svn: 159497
-
- Jun 30, 2012
-
-
Bill Wendling authored
llvm-svn: 159491
-
Rafael Espindola authored
a reduced testcase, but this fixes pr13209. llvm-svn: 159479
-
Nuno Lopes authored
llvm-svn: 159471
-
Manman Ren authored
Use getUniqueVRegDef. Replace a loop with existing interfaces: modifiesRegister and readsRegister. Factor out code into inline functions and simplify the code. llvm-svn: 159470
-
- Jun 29, 2012
-
-
Manman Ren authored
instructions with two register operands. llvm-svn: 159465
-
Jakob Stoklund Olesen authored
When a local virtual register is made global, make sure to clear any existing kill flags. llvm-svn: 159461
-
Jakob Stoklund Olesen authored
This would previously get reported as the misleading "Virtual register def doesn't dominate all uses." llvm-svn: 159460
-
Benjamin Kramer authored
This happens when codegenprepare is invoked via opt. llvm-svn: 159457
-
Manman Ren authored
This comes in handy during peephole optimization. llvm-svn: 159453
-
Duncan Sands authored
really happening. No intended functionality change. llvm-svn: 159451
-
Nuno Lopes authored
RefreshCallGraph: ignore 'invoke intrinsic'. IntrinsicInst doesnt not recognize invoke, and shouldnt at this point, since the rest of LLVM codebase doesnt expect invoke of intrinsics llvm-svn: 159441
-
Nuno Lopes authored
ignore 'invoke new' in isInstructionTriviallyDead, since most callers are not ready to handle invokes. instcombine will take care of this. llvm-svn: 159440
-
Alexey Samsonov authored
llvm-svn: 159433
-
Duncan Sands authored
the optimizers producing a multiply expression with more multiplications than the original (!). llvm-svn: 159426
-
Chandler Carruth authored
This was always part of the VMCore library out of necessity -- it deals entirely in the IR. The .cpp file in fact was already part of the VMCore library. This is just a mechanical move. I've tried to go through and re-apply the coding standard's preferred header sort, but at 40-ish files, I may have gotten some wrong. Please let me know if so. I'll be committing the corresponding updates to Clang and Polly, and Duncan has DragonEgg. Thanks to Bill and Eric for giving the green light for this bit of cleanup. llvm-svn: 159421
-
Bill Wendling authored
llvm-svn: 159417
-
Bill Wendling authored
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore instead. llvm-svn: 159414
-
Andrew Trick authored
This reverts commit r159406. I noticed a performance regression so I'll back out for now. llvm-svn: 159411
-
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
-