Commits

Show all
Author Commit Message Labels Comments Date
Chris Lattner
use predicate instead of hand-rolled loop
Tags
2 tags
Dan Gohman
De-pImpl-ify ScalarEvolution. The pImpl pattern doesn't provide much practical benefit in the case of ScalarEvolution, and it's otherwise a nuisance.
Evan Cheng
It has finally happened. Spiller is now using live interval info. This fixes a very subtle bug. vr defined by an implicit_def is allowed overlap with any register since it doesn't actually modify anything. However, if it's used as a two-address use, its live range can be extended and it can be spilled. The spiller must take care not to emit a reload for the vn number that's defined by the implicit_def. This is both a correctness and performance issue.
convert-repo
update tags
Dan Gohman
When turning (ashr(shl(x, n), n)) into sext(trunc(x)), the width of the type to truncate to should be the number of bits of the value that are preserved, not the number that are clobbered with sign-extension. This fixes regressions in ldecod.
Mikhail Glushenkov
Support --with-llvmgccdir and friends in llvmc, take 2. Should now work when building with objdir != srcdir and when llvm-gcc is not available. Thanks to Duncan Sands for testing and advice!
Devang Patel
Test case for revision 69683.
Chris Lattner
fix a crash on a pointless but valid zero-length memset, rdar://6808691
Anton Korobeynikov
Silence warnings. Patch by Jay Foad!
Anton Korobeynikov
Drop obsolete reference to __eprintf. Patch by Jay Foad!
Anton Korobeynikov
'The "or die" is intended to catch the case where nm returned a non-zero exit status, so nm will already have printed some error messages.' Patch by Jay Foad!
Duncan Sands
Get rid of what looks like a copy-and-pasted typo. Spotted by gcc-4.5.
Rafael Avila de Espindola
TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them. This fixes PR4002.
Sanjiv Gupta
Handle direct aggregate type arguments.
Dan Gohman
Teach ScalarEvolution how to recognize zext-inreg and sext-inreg, as they appear in LLVM IR. This isn't particularly interesting on its own; this is just setting up some infrastructure.
Dan Gohman
This FIXME is fixed, now that SCEV understands pointers.
Dan Gohman
Factor out a common base class from SCEVTruncateExpr, SCEVZeroExtendExpr, and SCEVSignExtendExpr.
Dan Gohman
Usage getAnalysisToUpdate for TargetData, per PR760.
Dan Gohman
Introduce encapsulation for ScalarEvolution's TargetData object, and refactor the code to minimize dependencies on TargetData.
Dan Gohman
Move some assertion checks so they can do more complete checking.
Dan Gohman
Convert ScalarEvolution to use raw_ostream instead of OStream.
Devang Patel
Fix Visual Studio 2008 build failure. Patch by Marius Wachtler
Dan Gohman
Make X86's copyRegToReg able to handle copies to and from subclasses. This makes the extra copyRegToReg calls in ScheduleDAGSDNodesEmit.cpp unnecessary. Derived from a patch by Jakob Stoklund Olesen.
Dan Gohman
Simplify this code. getConstant knows how to make broadcasted vector constants.
Evan Cheng
No, we are not avoiding -O3, just -fstrict-aliasing.
Dale Johannesen
Adjust loop size estimate for full unrolling; GEP's don't usually become instructions.
Evan Cheng
One Mac OS X, just build with -O3 but without -fstrict-aliasing (which is kinda broken).
Daniel Dunbar
Make Unix.h:MakeErrMsg separate the prefix and errno string, so we get: clang: error: unable to make temporary file: /etc/cc: can't make unique filename: Permission denied instead of clang: error: unable to make temporary file: /etc/cc: can't make unique filenamePermission denied for example. Also, audited the uses of MakeErrMsg to make the prefix strings consistent (not end with newline/punctuation/space/": ").
Daniel Dunbar
Remove unused variable.
Bob Wilson
Move duplicated AddLiveIn function from X86 and ARM backends to be a method in the MachineFunction class, renaming it to addLiveIn for consistency with the same method in MachineBasicBlock. Thanks for Anton for suggesting this.
  1. Prev
  2. Next