Faits :
A.
Par jugement du 29 mai 2019, le Tribunal de police de la République et canton de Genève a condamné A._, pour vol, tentative de vol, dommages à la propriété, violation de domicile, tentative de violation de domicile, entrée et séjour illégaux, à une peine privative de liberté de huit mois, peine complémentaire à celles prononcées les 18 janvier et 27 mars 2019. Il a renoncé à révoquer la libération conditionnelle qui avait été accordée au prénommé le 7 octobre 2017 et a ordonné l'expulsion de celui-ci du territoire suisse pour une durée de cinq ans.
B.
Par arrêt du 29 août 2019, la Chambre pénale d'appel et de révision de la Cour de justice genevoise, statuant sur l'appel formé par A._ contre ce jugement, a réformé celui-ci en ce sens que la peine privative de liberté de huit mois infligée au prénommé n'est pas complémentaire à celles prononcées les 18 janvier et 27 mars 2019. Elle a confirmé le jugement pour le surplus.
La cour cantonale a retenu les faits suivants.
B.a. A._ a indiqué être né en Algérie, pays dont il est ressortissant, en 1974. Il y a suivi l'école jusqu'à l'âge de 12 ans, avant de travailler. Les membres de sa famille vivent toujours en Algérie, à l'exception d'un frère qui se trouve en France. Le prénommé a vécu en Suisse, sans papiers d'identité ni permis de séjour, depuis 1993 ou 1994. Il est célibataire et père de deux enfants - B._ et C._ -, nés à D._ en 1998, respectivement en 2003, de mères différentes. Ces enfants sont de nationalité suisse et vivent à D._. A._ a vécu avec la mère de B._ entre 1998 et 2000. Celle-ci a quitté la Suisse pour l'Algérie en 2000 ou 2001. Après ce départ, A._ s'est occupé seul de son fils, avant que B._ fût placé dans un foyer durant un an puis dans une famille d'accueil pendant huit ans. A._ dit avoir vu son fils chaque samedi durant cette période. B._ a ensuite été placé dans un foyer à E._ pendant cinq ou six années, durant lesquelles A._ affirme l'avoir vu un week-end sur deux. Lorsque B._ a atteint l'âge de 16 ans, il est allé vivre chez sa grand-mère. Il se trouve actuellement en détention à la prison de F._. L'autre fils de A._, C._, vit avec sa mère. A._ n'a pas contribué à l'entretien de ses enfants. En octobre 2017, en sortant de prison, il a été renvoyé en Algérie, où il a vécu près d'un an. A._ dit y avoir été bien accueilli mais s'y être senti comme un étranger après le temps passé en Suisse. Lorsque ce dernier se trouvait en Algérie, son fils C._ l'a rejoint durant trois semaines durant les vacances scolaires. A._ a affirmé être revenu en Suisse en 2018, à la demande de ses enfants. Il a indiqué avoir vécu à G._, puis à D._ depuis octobre 2018. Le prénommé n'a pas d'emploi ni de ressources financières. Il ne peut accueillir ses fils chez lui mais appelle souvent ceux-ci.
Selon l'extrait de son casier judiciaire suisse, A._ a fait l'objet de neuf condamnations, entre 2009 et 2017, pour des infractions à la législation sur les étrangers ou à la LStup, mais principalement pour des vols, des dommages à la propriété et des violations de domicile.
B.b. Le 17 décembre 2018, A._ a tenté de pénétrer dans un appartement, en arrachant le cylindre de la porte palière, sans parvenir à ses fins. Il a agi de la sorte dans le but d'y dérober des objets et valeurs.
B.c. Le 31 décembre 2018, le prénommé a, avec un acolyte, arraché le cylindre de la porte palière d'un appartement, puis y a pénétré et y a dérobé divers effets et valeurs, pour un montant total de 2'800 francs.
B.d. Entre octobre 2018 et janvier 2019, A._ a pénétré puis séjourné sur le territoire suisse sans les autorisations nécessaires ni les moyens de subsistance suffisants, alors qu'il faisait l'objet d'une interdiction d'entrée valable jusqu'en 2027.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 29 août 2019, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que son expulsion du territoire suisse n'est pas ordonnée. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'octroi de l'effet suspensif.

Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir établi arbitrairement les faits.
1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 1.1 p. 155 s.).
1.2. Le recourant évoque des éléments - tels que son intégration en Suisse ou la force des liens avec ses enfants - qui ne relèvent pas du fait mais du droit. Il ne met par ailleurs en évidence aucune constatation de fait qui serait insoutenable, mais se borne à affirmer, de manière purement appellatoire, qu'il a tenté de s'intégrer en Suisse ou qu'il entretiendrait des relations régulières avec ses enfants. Ce faisant, le recourant ne présente aucun grief recevable.
Il en va de même dans la mesure où le recourant se borne à relever que la cour cantonale a refusé d'auditionner les témoins qu'il proposait d'entendre, l'intéressé ne formulant aucun grief recevable - répondant aux exigences de motivation découlant des art. 42 al. 2 et 106 al. 2 LTF - en matière de violation du droit d'être entendu (cf. à cet égard <ref-ruling> consid. 4.1 p. 72) ou d'appréciation anticipée des preuves (cf. sur ce point <ref-ruling> consid. 3.1.3 p. 435 ou arrêt 6B_1074/2019 du 14 novembre 2019 consid. 2.1 s'agissant spécifiquement de l'<ref-law>).
2.
Le recourant fait grief à la cour cantonale d'avoir prononcé son expulsion du territoire suisse.
2.1. Aux termes de l'art. 66a al. 1 let. d CP, le juge expulse de Suisse l'étranger qui est condamné pour vol (<ref-law>) en lien avec une violation de domicile (<ref-law>), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans. Selon l'<ref-law>, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
2.2. En l'espèce, le recourant a commis des infractions (vol et violation de domicile) qui tombent sous le coup de l'art. 66a al. 1 let. d CP. Il remplit donc a priori les conditions d'une expulsion, sous la réserve d'une application de l'<ref-law>, voire également des normes de droit international.
2.3.
2.3.1. La loi ne définit pas ce qu'il faut entendre par une "situation personnelle grave" (première condition cumulative) ni n'indique les critères à prendre en compte dans la pesée des intérêts (seconde condition cumulative).
En recourant à la notion de cas de rigueur dans le cadre de l'<ref-law>, le législateur a fait usage d'un concept ancré depuis longtemps dans le droit des étrangers. Compte tenu également du lien étroit entre l'expulsion pénale et les mesures du droit des étrangers, il est justifié de s'inspirer, de manière générale, des critères prévus par l'art. 31 al. 1 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201) et de la jurisprudence y relative, dans le cadre de l'application de l'<ref-law>. L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. Elle commande de tenir compte notamment de l'intégration du requérant selon les critères d'intégration définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'Etat de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (<ref-ruling> consid. 3.3.2 p. 340 s.; arrêt 6B_1045/2019 du 18 octobre 2019 consid. 1.3.1). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'<ref-law> lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_908/2019 du 5 novembre 2019 consid. 2.1; 6B_1045/2019 précité consid. 1.3.1; 6B_925/2019 du 16 octobre 2019 consid. 1.1).
Selon la jurisprudence, pour se prévaloir du respect au droit de sa vie privée, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. <ref-ruling> consid. 4.3 p. 24; plus récemment arrêt 6B_2/2019 du 27 septembre 2019 consid. 7.2.1 non destiné à la publication).
2.3.2. En l'espèce, il n'apparaît pas que le recourant pourrait se prévaloir d'un droit au respect de sa vie privée, au sens de l'art. 8 par. 1 CEDH, dès lors que l'intéressé ne présente pas des liens sociaux ou professionnels spécialement intenses avec la Suisse et que son intégration dans ce pays est inexistante. Le recourant n'a jamais séjourné ou travaillé légalement en Suisse et a passé plusieurs années en prison. Il ne met, pour le reste, en exergue aucun élément pouvant laisser penser qu'un quelconque cercle social, amical ou professionnel y aurait été créé et entretenu. De surcroît, le recourant, qui reste sans domicile, n'est revenu en Suisse qu'en 2018, après avoir séjourné près d'un an dans son pays d'origine puis avoir vécu à G._.
Le recourant se prévaut exclusivement de la présence en Suisse de ses deux fils. On peut tout d'abord relever que le recourant ne peut fonder un droit au respect de sa vie familiale sur la relation entretenue avec son fils B._, puisque ce dernier est majeur (cf. à cet égard <ref-ruling> consid. 5.3 p. 233 et les références citées) et que l'intéressé ne prétend pas que le prénommé se trouverait dans un état de dépendance particulier par rapport à lui, en raison par exemple d'un handicap ou d'une maladie grave (cf. <ref-ruling> consid. 3.1 p. 230 s.; <ref-ruling> consid. 5.2 p. 80 s.; cf. arrêt 6B_908/2019 précité consid. 2.1.1).
S'agissant de l'enfant C._, il ne ressort pas de l'arrêt attaqué que le recourant aurait disposé d'un droit de garde ou de visite à son égard, ni qu'il aurait jamais contribué à son entretien. Les contacts actuels avec cet enfant se font, selon l'arrêt attaqué, par téléphone. Partant, on ne saurait admettre que le recourant entretiendrait avec son fils C._ une relation étroite et effective au sens de la jurisprudence (cf. <ref-ruling> consid. 6.1 p. 12; <ref-ruling> consid. 2.1 p. 336 et les références citées).
Enfin, la cour cantonale a relevé que le recourant avait été bien accueilli dans son pays d'origine lorsqu'il y avait été renvoyé en 2017, et qu'il avait même pu y maintenir des contacts avec son fils C._. Ainsi, compte tenu de la mauvaise intégration du recourant en Suisse, de l'absence de relations professionnelles ou sociales dans ce pays et des liens - notamment familiaux - conservés avec l'Algérie, il n'apparaît pas que l'expulsion ordonnée pourrait placer l'intéressé dans une situation personnelle grave. La première condition cumulative permettant au juge de renoncer exceptionnellement à l'expulsion fait donc défaut. Partant, une application de l'<ref-law> ne pouvait entrer en ligne de compte.
Le grief du recourant doit être rejeté.
3.
Le recours doit être rejeté dans la mesure où il est recevable. Comme il était dépourvu de chances de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). Le recourant, qui succombe, supportera les frais judiciaires (<ref-law>), dont le montant sera fixé en tenant compte de sa situation financière, laquelle n'apparaît pas favorable.
La cause étant jugée, la demande d'effet suspensif n'a plus d'objet. Au demeurant, le recours en matière pénale interjeté contre un prononcé d'expulsion déploie de lege un effet suspensif.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre pénale d'appel et de révision.
Lausanne, le 19 décembre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa