oota-llvm.git
16 years agoAsmPrinters overriding getAnalysisUsage should call super.
Gordon Henriksen [Sun, 30 Sep 2007 13:39:29 +0000 (13:39 +0000)]
AsmPrinters overriding getAnalysisUsage should call super.

And not super's super, either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42482 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a helper useful when mapping from a map element to its hash node.
Chris Lattner [Sun, 30 Sep 2007 08:31:46 +0000 (08:31 +0000)]
Add a helper useful when mapping from a map element to its hash node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42480 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemplate-ize more of the DomTree internal implementation details. Only the calculate...
Owen Anderson [Sun, 30 Sep 2007 04:17:16 +0000 (04:17 +0000)]
Template-ize more of the DomTree internal implementation details.  Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agodocument DenseSet.
Chris Lattner [Sun, 30 Sep 2007 00:58:59 +0000 (00:58 +0000)]
document DenseSet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42475 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a new DenseSet abstraction.
Chris Lattner [Sun, 30 Sep 2007 00:47:20 +0000 (00:47 +0000)]
Add a new DenseSet abstraction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42474 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd newline at end of file.
Duncan Sands [Sat, 29 Sep 2007 16:38:37 +0000 (16:38 +0000)]
Add newline at end of file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42470 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck that the second parameter of init_trampoline
Duncan Sands [Sat, 29 Sep 2007 16:25:54 +0000 (16:25 +0000)]
Check that the second parameter of init_trampoline
can be resolved to a function.  This is required
for codegen and used by instcombine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42469 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis is done already.
Gordon Henriksen [Sat, 29 Sep 2007 02:23:08 +0000 (02:23 +0000)]
This is done already.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42467 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCollector is the base class for garbage collection code generators.
Gordon Henriksen [Sat, 29 Sep 2007 02:13:43 +0000 (02:13 +0000)]
Collector is the base class for garbage collection code generators.
This version enhances the previous patch to add root initialization
as discussed here:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053455.html

Collector gives its subclasses control over generic algorithms:

  unsigned NeededSafePoints; //< Bitmask of required safe points.
  bool CustomReadBarriers;   //< Default is to insert loads.
  bool CustomWriteBarriers;  //< Default is to insert stores.
  bool CustomRoots;          //< Default is to pass through to backend.
  bool InitRoots;            //< If set, roots are nulled during lowering.

It also has callbacks which collectors can hook:

  /// If any of the actions are set to Custom, this is expected to
  /// be overriden to create a transform to lower those actions to
  /// LLVM IR.
  virtual Pass *createCustomLoweringPass() const;

  /// beginAssembly/finishAssembly - Emit module metadata as
  /// assembly code.
  virtual void beginAssembly(Module &M, std::ostream &OS,
                             AsmPrinter &AP,
                             const TargetAsmInfo &TAI) const;
  virtual void finishAssembly(Module &M,
                              CollectorModuleMetadata &CMM,
                              std::ostream &OS, AsmPrinter &AP,
                              const TargetAsmInfo &TAI) const;

Various other independent algorithms could be implemented, but were
not necessary for the initial two collectors. Some examples are
listed here:

http://llvm.org/docs/GarbageCollection.html#collector-algos

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42466 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDemoting CHelpers.h to include/llvm/Support.
Gordon Henriksen [Sat, 29 Sep 2007 01:38:42 +0000 (01:38 +0000)]
Demoting CHelpers.h to include/llvm/Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42465 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSwitch to densemap rather than std::set
Daniel Berlin [Sat, 29 Sep 2007 00:50:40 +0000 (00:50 +0000)]
Switch to densemap rather than std::set

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42462 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerate.
Gordon Henriksen [Sat, 29 Sep 2007 00:42:56 +0000 (00:42 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42461 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPR1601: etags not configured correctly
Gordon Henriksen [Sat, 29 Sep 2007 00:42:21 +0000 (00:42 +0000)]
PR1601: etags not configured correctly
Resolving this by deleting vestigal etags remnants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42460 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnabling new condition code modeling scheme.
Evan Cheng [Sat, 29 Sep 2007 00:00:36 +0000 (00:00 +0000)]
Enabling new condition code modeling scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42459 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo not ignore packed member size while selecting union type.
Devang Patel [Fri, 28 Sep 2007 23:54:26 +0000 (23:54 +0000)]
Do not ignore packed member size while selecting union type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42458 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTeach SplitVectorOp how to split INSERT_VECTOR_ELT.
Dan Gohman [Fri, 28 Sep 2007 23:53:40 +0000 (23:53 +0000)]
Teach SplitVectorOp how to split INSERT_VECTOR_ELT.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42457 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate how to release document.
Tanya Lattner [Fri, 28 Sep 2007 22:50:54 +0000 (22:50 +0000)]
Update how to release document.
Add release version to getting started guide.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42454 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf two instructions are both two-address code, favors (schedule closer to
Evan Cheng [Fri, 28 Sep 2007 22:32:30 +0000 (22:32 +0000)]
If two instructions are both two-address code, favors (schedule closer to
terminator) the one that has a CopyToReg use. This fixes
2006-05-11-InstrSched.ll with -new-cc-modeling-scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42453 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoreally fix PR1581, thanks to Daniel Dunbar for pointing
Chris Lattner [Fri, 28 Sep 2007 20:50:50 +0000 (20:50 +0000)]
really fix PR1581, thanks to Daniel Dunbar for pointing
this out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42448 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake Value::getNameLen not crash on an empty name, fixing PR1712.
Chris Lattner [Fri, 28 Sep 2007 20:09:40 +0000 (20:09 +0000)]
Make Value::getNameLen not crash on an empty name, fixing PR1712.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42444 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove a poor scheduling heuristic.
Evan Cheng [Fri, 28 Sep 2007 19:37:35 +0000 (19:37 +0000)]
Remove a poor scheduling heuristic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42443 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTrim some unneeded fields.
Evan Cheng [Fri, 28 Sep 2007 19:24:24 +0000 (19:24 +0000)]
Trim some unneeded fields.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42442 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRecord latest work.
Dale Johannesen [Fri, 28 Sep 2007 18:46:28 +0000 (18:46 +0000)]
Record latest work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42441 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix long double -> uint64 conversion.
Dale Johannesen [Fri, 28 Sep 2007 18:44:17 +0000 (18:44 +0000)]
Fix long double -> uint64 conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42440 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor long double related changes
Dale Johannesen [Fri, 28 Sep 2007 18:06:58 +0000 (18:06 +0000)]
minor long double related changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42439 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake the checks for DW_FORM_data4 consistent with the others, and
Dan Gohman [Fri, 28 Sep 2007 16:50:28 +0000 (16:50 +0000)]
Make the checks for DW_FORM_data4 consistent with the others, and
add more such code for DIEDwarfLabel::SizeOf and DIEObjectLabel::SizeOf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42435 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse 32-bit data directives for DW_FORM_data4 format data, even on
Dan Gohman [Fri, 28 Sep 2007 15:43:33 +0000 (15:43 +0000)]
Use 32-bit data directives for DW_FORM_data4 format data, even on
targets with 64-bit addresses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42434 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor the memcpy lowering for the x86 target.
Rafael Espindola [Fri, 28 Sep 2007 12:53:01 +0000 (12:53 +0000)]
Refactor the memcpy lowering for the x86 target.

The only generated code difference is that now we call memcpy when
the size of the array is unknown. This matches GCC behavior and is
better since the run time value can be arbitrarily large.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42433 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoStop inventing new words. :-)
Evan Cheng [Fri, 28 Sep 2007 01:35:02 +0000 (01:35 +0000)]
Stop inventing new words. :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42429 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove unneeded #include.
Owen Anderson [Fri, 28 Sep 2007 01:25:07 +0000 (01:25 +0000)]
Remove unneeded #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42428 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHave PostDomTree use the newly templated DFSPass.
Owen Anderson [Fri, 28 Sep 2007 01:23:47 +0000 (01:23 +0000)]
Have PostDomTree use the newly templated DFSPass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / add)...
Evan Cheng [Fri, 28 Sep 2007 01:19:48 +0000 (01:19 +0000)]
Pessimisively assume ADJCALLSTACKDOWN / ADJCALLSTACKUP (which becomes sub / add) clobbers EFLAGS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42426 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd sqrt and powi intrinsics for long double.
Dale Johannesen [Fri, 28 Sep 2007 01:08:20 +0000 (01:08 +0000)]
Add sqrt and powi intrinsics for long double.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42423 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't do SRA for unions with long double fields.
Dale Johannesen [Fri, 28 Sep 2007 00:21:38 +0000 (00:21 +0000)]
Don't do SRA for unions with long double fields.
Fixes a SWB crash.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42422 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert DFSPass into a templated friend function, in preparation for making it common...
Owen Anderson [Thu, 27 Sep 2007 23:23:00 +0000 (23:23 +0000)]
Convert DFSPass into a templated friend function, in preparation for making it common to DomTree and PostDomTree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42420 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targets
Dan Gohman [Thu, 27 Sep 2007 23:12:31 +0000 (23:12 +0000)]
TargetAsmInfo::getAddressSize() was incorrect for x86-64 and 64-bit targets
other than PPC64. Instead of fixing it, just remove it and fix all the
places that use it to use TargetData::getPointerSize() instead, as there
aren't very many. Most of the references were in DwarfWriter.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42419 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCollectorMetadata abstractly describes stack maps for a function.
Gordon Henriksen [Thu, 27 Sep 2007 22:18:46 +0000 (22:18 +0000)]
CollectorMetadata abstractly describes stack maps for a function.
It includes:

 - location and of each safe point in machine code (identified by a
   label)
 - location of each root within the stack frame (identified by an
   offset), including the metadata tag provided to llvm.gcroot in
   the user program
 - size of the stack frame (for collectors which want to cheat on
   stack crawling :)
 - and eventually will include liveness

It is to be populated by back-ends during code-generation.

CollectorModuleMetadata aggregates this information across the
entire module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42418 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse GR64 in 64-bit mode.
Evan Cheng [Thu, 27 Sep 2007 21:50:05 +0000 (21:50 +0000)]
Use GR64 in 64-bit mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42417 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMy previous Registry.h header, as well as Collectors.h, which is the
Gordon Henriksen [Thu, 27 Sep 2007 19:34:27 +0000 (19:34 +0000)]
My previous Registry.h header, as well as Collectors.h, which is the
registry for dynamically-loaded garbage collection compiler plugins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42415 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGarbageCollection.html is expanded to encompass the coming
Gordon Henriksen [Thu, 27 Sep 2007 19:31:36 +0000 (19:31 +0000)]
GarbageCollection.html is expanded to encompass the coming
capabilities. This is a major rewrite and is easier to read en toto
rather than patchwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42414 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDoh. Calls clobber EFLAGS.
Evan Cheng [Thu, 27 Sep 2007 19:01:55 +0000 (19:01 +0000)]
Doh. Calls clobber EFLAGS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42413 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAvoid inserting a live register more than once.
Evan Cheng [Thu, 27 Sep 2007 18:46:06 +0000 (18:46 +0000)]
Avoid inserting a live register more than once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42410 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCouple of fixes to mention bunzip2 and make instructions more clear.
Tanya Lattner [Thu, 27 Sep 2007 18:14:33 +0000 (18:14 +0000)]
Couple of fixes to mention bunzip2 and make instructions more clear.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42407 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhile searching for appropriate place for temporaries, do not over-incerement iterator.
Devang Patel [Thu, 27 Sep 2007 18:02:47 +0000 (18:02 +0000)]
While searching for appropriate place for temporaries, do not over-incerement iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42406 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMention Loop Index Split
Devang Patel [Thu, 27 Sep 2007 17:32:04 +0000 (17:32 +0000)]
Mention Loop Index Split

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42405 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agonew testcase for PR1708
Chris Lattner [Thu, 27 Sep 2007 15:47:16 +0000 (15:47 +0000)]
new testcase for PR1708

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42398 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIgnore redundant constraints
Daniel Berlin [Thu, 27 Sep 2007 15:42:23 +0000 (15:42 +0000)]
Ignore redundant constraints

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42397 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBuild the correct range for loops with unusual bounds. Fix from Jay Foad.
Nick Lewycky [Thu, 27 Sep 2007 14:12:54 +0000 (14:12 +0000)]
Build the correct range for loops with unusual bounds. Fix from Jay Foad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42394 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNo, really, it *is* SSSE3. ;-)
Bill Wendling [Thu, 27 Sep 2007 08:47:31 +0000 (08:47 +0000)]
No, really, it *is* SSSE3. ;-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42393 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSSSE3 -> SSE3. Reported by Alex Kellett.
Duncan Sands [Thu, 27 Sep 2007 08:24:36 +0000 (08:24 +0000)]
SSSE3 -> SSE3.  Reported by Alex Kellett.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42392 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGrammer fix reported by Alex Kellett.
Duncan Sands [Thu, 27 Sep 2007 08:24:02 +0000 (08:24 +0000)]
Grammer fix reported by Alex Kellett.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42391 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSilence a compiler warning.
Evan Cheng [Thu, 27 Sep 2007 07:35:39 +0000 (07:35 +0000)]
Silence a compiler warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42389 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBoogs.
Evan Cheng [Thu, 27 Sep 2007 07:29:27 +0000 (07:29 +0000)]
Boogs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42388 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBe smarter about which node to force schedule. Reduce # of duplications + copies...
Evan Cheng [Thu, 27 Sep 2007 07:09:03 +0000 (07:09 +0000)]
Be smarter about which node to force schedule. Reduce # of duplications + copies; Added statistics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42387 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove debugging.
Gordon Henriksen [Thu, 27 Sep 2007 02:47:27 +0000 (02:47 +0000)]
Remove debugging.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42385 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoBacktracking only when it won't create a cycle.
Evan Cheng [Thu, 27 Sep 2007 00:25:29 +0000 (00:25 +0000)]
Backtracking only when it won't create a cycle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42384 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake temporaries explicit to avoid premature
Dale Johannesen [Wed, 26 Sep 2007 23:20:33 +0000 (23:20 +0000)]
Make temporaries explicit to avoid premature
destruction of compiler-created ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42383 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdating LLVM.xcodeproj.
Gordon Henriksen [Wed, 26 Sep 2007 22:44:45 +0000 (22:44 +0000)]
Updating LLVM.xcodeproj.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42382 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoOops. Forgot this.
Evan Cheng [Wed, 26 Sep 2007 21:38:03 +0000 (21:38 +0000)]
Oops. Forgot this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42377 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Move getPhysicalRegisterRegClass() from ScheduleDAG to MRegisterInfo.
Evan Cheng [Wed, 26 Sep 2007 21:36:17 +0000 (21:36 +0000)]
- Move getPhysicalRegisterRegClass() from ScheduleDAG to MRegisterInfo.
- Added ability to emit cross class register copies to the BBRU scheduler.
- More aggressive backtracking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42375 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhitespace cleanup.
Neil Booth [Wed, 26 Sep 2007 21:35:05 +0000 (21:35 +0000)]
Whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42374 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhitespace and compiler warning cleanup.
Neil Booth [Wed, 26 Sep 2007 21:33:42 +0000 (21:33 +0000)]
Whitespace and compiler warning cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42373 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Added MRegisterInfo::getCrossCopyRegClass() hook. For register classes where reg...
Evan Cheng [Wed, 26 Sep 2007 21:31:07 +0000 (21:31 +0000)]
- Added MRegisterInfo::getCrossCopyRegClass() hook. For register classes where reg to reg copies are not possible, this returns another register class which registers in the specified register class can be copied to (and copy back from).
- X86 copyRegToReg() now supports copying between EFLAGS and GR32 / GR64 registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42372 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSome assemblers do not recognize aliases pushfd, pushfq, popfd, and popfq. Just emit...
Evan Cheng [Wed, 26 Sep 2007 21:28:00 +0000 (21:28 +0000)]
Some assemblers do not recognize aliases pushfd, pushfq, popfd, and popfq. Just emit them as pushf and popf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42371 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoModernize fabs.ll, add long double. Add tests
Dale Johannesen [Wed, 26 Sep 2007 21:12:10 +0000 (21:12 +0000)]
Modernize fabs.ll, add long double.  Add tests
for direct codegen of fsin/fcos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42369 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnable codegen for long double abs, sin, cos
Dale Johannesen [Wed, 26 Sep 2007 21:10:55 +0000 (21:10 +0000)]
Enable codegen for long double abs, sin, cos

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42368 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded C and Ocaml bindings for functions, basic blocks, and
Gordon Henriksen [Wed, 26 Sep 2007 20:56:12 +0000 (20:56 +0000)]
Added C and Ocaml bindings for functions, basic blocks, and
instruction creation. No support yet for instruction introspection.

Also eliminated allocas from the Ocaml bindings for portability,
and avoided unnecessary casts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42367 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix f80 UNDEF.
Dale Johannesen [Wed, 26 Sep 2007 17:26:49 +0000 (17:26 +0000)]
Fix f80 UNDEF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42359 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoX86 -> X86-32 in appropriate places.
Duncan Sands [Wed, 26 Sep 2007 16:24:52 +0000 (16:24 +0000)]
X86 -> X86-32 in appropriate places.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42357 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoVarious cleanups. Especially, EH is turned on by default!
Duncan Sands [Wed, 26 Sep 2007 15:59:54 +0000 (15:59 +0000)]
Various cleanups.  Especially, EH is turned on by default!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42356 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agook ok we get it. CBE and vectors don't like each other yet.
Chris Lattner [Wed, 26 Sep 2007 15:50:21 +0000 (15:50 +0000)]
ok ok we get it.  CBE and vectors don't like each other yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42355 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agobe less redundantly redundant.
Chris Lattner [Wed, 26 Sep 2007 15:48:33 +0000 (15:48 +0000)]
be less redundantly redundant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42354 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest the C front-end, not the C++ front-end.
Duncan Sands [Wed, 26 Sep 2007 07:28:20 +0000 (07:28 +0000)]
Test the C front-end, not the C++ front-end.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42350 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake old crappy browsers produce less crappy output :)
Chris Lattner [Wed, 26 Sep 2007 06:38:59 +0000 (06:38 +0000)]
make old crappy browsers produce less crappy output :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42349 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTypos: POPQ -> POPFQ, POPD -> POPFD.
Evan Cheng [Wed, 26 Sep 2007 06:38:29 +0000 (06:38 +0000)]
Typos: POPQ -> POPFQ, POPD -> POPFD.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42348 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomove PR1160 here.
Chris Lattner [Wed, 26 Sep 2007 06:29:31 +0000 (06:29 +0000)]
move PR1160 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42347 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAllow copyRegToReg to emit cross register classes copies.
Evan Cheng [Wed, 26 Sep 2007 06:25:56 +0000 (06:25 +0000)]
Allow copyRegToReg to emit cross register classes copies.
Tested with "make check"!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42346 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomove PR1264 here.
Chris Lattner [Wed, 26 Sep 2007 06:15:48 +0000 (06:15 +0000)]
move PR1264 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42345 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agonoone uses etags. Connected to PR1601
Chris Lattner [Wed, 26 Sep 2007 06:10:47 +0000 (06:10 +0000)]
noone uses etags.  Connected to PR1601

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42344 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agowe support attribute(noinline) now :)
Chris Lattner [Wed, 26 Sep 2007 06:04:15 +0000 (06:04 +0000)]
we support attribute(noinline) now :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42343 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoupdate bugs list
Chris Lattner [Wed, 26 Sep 2007 06:01:35 +0000 (06:01 +0000)]
update bugs list

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42342 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agonow with more prose.
Chris Lattner [Wed, 26 Sep 2007 05:44:21 +0000 (05:44 +0000)]
now with more prose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42341 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest that local variables are aligned as the user requested.
Duncan Sands [Wed, 26 Sep 2007 04:04:29 +0000 (04:04 +0000)]
Test that local variables are aligned as the user requested.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42338 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd pushf{d|q}, popf{d|q} to push and pop EFLAGS register.
Evan Cheng [Wed, 26 Sep 2007 01:29:06 +0000 (01:29 +0000)]
Add pushf{d|q}, popf{d|q} to push and pop EFLAGS register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42335 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agotranslateX86CC updates the last two operands.
Evan Cheng [Wed, 26 Sep 2007 00:45:55 +0000 (00:45 +0000)]
translateX86CC updates the last two operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42333 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrectly restore stack pointer after realignment in main() on Cygwin/Mingw32
Anton Korobeynikov [Wed, 26 Sep 2007 00:13:34 +0000 (00:13 +0000)]
Correctly restore stack pointer after realignment in main() on Cygwin/Mingw32

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42332 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix small bug in operator== for iterators
Daniel Berlin [Wed, 26 Sep 2007 00:11:59 +0000 (00:11 +0000)]
Fix small bug in operator== for iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42331 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove no-longer-used variable.
Dale Johannesen [Tue, 25 Sep 2007 23:32:20 +0000 (23:32 +0000)]
Remove no-longer-used variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42329 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake APFloat->int conversions deterministic even in
Dale Johannesen [Tue, 25 Sep 2007 23:07:07 +0000 (23:07 +0000)]
Make APFloat->int conversions deterministic even in
cases with undefined behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42328 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoexplain why not vector<bool>
Chris Lattner [Tue, 25 Sep 2007 22:37:50 +0000 (22:37 +0000)]
explain why not vector<bool>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42324 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMissing load / store folding entries.
Evan Cheng [Tue, 25 Sep 2007 22:10:43 +0000 (22:10 +0000)]
Missing load / store folding entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42323 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPartly revert invalid r41774
Anton Korobeynikov [Tue, 25 Sep 2007 21:52:30 +0000 (21:52 +0000)]
Partly revert invalid r41774

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42322 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoGrammar fix.
Bill Wendling [Tue, 25 Sep 2007 20:45:10 +0000 (20:45 +0000)]
Grammar fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42318 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMore explicit keywords.
Dan Gohman [Tue, 25 Sep 2007 20:27:06 +0000 (20:27 +0000)]
More explicit keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42316 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a newline to the end of this file.
Duncan Sands [Tue, 25 Sep 2007 20:08:48 +0000 (20:08 +0000)]
Add a newline to the end of this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42314 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a typo in a comment.
Dan Gohman [Tue, 25 Sep 2007 19:37:26 +0000 (19:37 +0000)]
Fix a typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42313 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNew style x87 cmp instructions.
Evan Cheng [Tue, 25 Sep 2007 19:08:02 +0000 (19:08 +0000)]
New style x87 cmp instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42312 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle multiple induction variables.
Devang Patel [Tue, 25 Sep 2007 18:24:48 +0000 (18:24 +0000)]
Handle multiple induction variables.
This fixes PR714.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42309 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhen both x/y and x%y are needed (x and y both scalar integer), compute
Dan Gohman [Tue, 25 Sep 2007 18:23:27 +0000 (18:23 +0000)]
When both x/y and x%y are needed (x and y both scalar integer), compute
both results with a single div or idiv instruction. This uses new X86ISD
nodes for DIV and IDIV which are introduced during the legalize phase
so that the SelectionDAG's CSE can automatically eliminate redundant
computations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42308 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo not reserve DOM check for GetElementPtrInst.
Devang Patel [Tue, 25 Sep 2007 17:55:50 +0000 (17:55 +0000)]
Do not reserve DOM check for GetElementPtrInst.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42306 91177308-0d34-0410-b5e6-96231b3b80d8